Windows build changed to one done by the datalad-extensions project using Github actions
This is a cleaner build than on Jenkins because the whole environment setup is handled by the CI config, at least up to the point of "get a random bag of Windows bytes". Also, the Jenkins autobuilder has been intermittently failing for a long time, not due to any problem with git-annex but just a failure to clean up directories. Also, this build runs the test suite, and it is (mostly) passing. Test suite always failed in the jenkins environment. Also, this build includes libmagic. Here is the build workflow used by github actions: https://github.com/datalad/datalad-extensions/blob/master/.github/workflows/build-git-annex-windows.yaml The libmagic build has its own workflow: https://github.com/datalad/file-windows/blob/master/.github/workflows/build.yml (Also cleaned up some windows build cruft I don't use anymore.) There is no build-version file to link to. I've opened a todo requesting one: https://github.com/datalad/datalad-extensions/issues/55
This commit is contained in:
parent
401f734a34
commit
f3070d2d7d
7 changed files with 11 additions and 154 deletions
|
@ -15,6 +15,8 @@ git-annex (8.20201008) UNRELEASED; urgency=medium
|
|||
* Fixed some problems that prevented this command from working:
|
||||
git submodule foreach git annex init
|
||||
* testremote: Display exceptions when tests fail, to aid debugging.
|
||||
* Windows build changed to one done by the datalad-extensions project
|
||||
using Github actions.
|
||||
|
||||
-- Joey Hess <id@joeyh.name> Thu, 08 Oct 2020 10:48:17 -0400
|
||||
|
||||
|
|
55
Jenkinsfile
vendored
55
Jenkinsfile
vendored
|
@ -1,55 +0,0 @@
|
|||
currentBuild.result = 'SUCCESS'
|
||||
def caught_exception = null
|
||||
|
||||
final def EMAIL_RECIPIENTS = 'joey+git-annex@joeyh.name'
|
||||
|
||||
properties([
|
||||
buildDiscarder(logRotator(artifactNumToKeepStr: '1')),
|
||||
pipelineTriggers([[$class: 'hudson.triggers.SCMTrigger', scmpoll_spec: ''],]) // pollScm('') in 2.22+
|
||||
])
|
||||
|
||||
try {
|
||||
|
||||
node('windows') {
|
||||
|
||||
dir('git-annex') {
|
||||
|
||||
stage('Checkout') {
|
||||
checkout scm
|
||||
}
|
||||
|
||||
stage('Build') {
|
||||
bat 'c:/cygwin/bin/sh standalone/windows/build.sh'
|
||||
}
|
||||
|
||||
stage('Archive') {
|
||||
archiveArtifacts 'git-annex-installer.exe,dist/build-version'
|
||||
}
|
||||
|
||||
stage('Upload') {
|
||||
withCredentials([usernamePassword(credentialsId: 'rsync-downloads-kitenet-net', passwordVariable: 'RSYNC_PASSWORD', usernameVariable: 'DUMMY')]) {
|
||||
bat 'c:/cygwin/bin/rsync git-annex-installer.exe winautobuild@downloads.kitenet.net::winautobuild'
|
||||
bat 'c:/cygwin/bin/rsync dist/build-version winautobuild@downloads.kitenet.net::winautobuild'
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} catch (exception) {
|
||||
|
||||
caught_exception = exception
|
||||
currentBuild.result = 'FAILURE'
|
||||
|
||||
} finally {
|
||||
|
||||
node('master') {
|
||||
step([$class: 'Mailer', notifyEveryUnstableBuild: false, recipients: EMAIL_RECIPIENTS, sendToIndividuals: false])
|
||||
}
|
||||
|
||||
if (caught_exception) {
|
||||
throw caught_exception
|
||||
}
|
||||
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
sh standalone/windows/build-simple.sh
|
|
@ -22,7 +22,7 @@
|
|||
<iframe width=1024 height=20em scrolling=no frameborder=0 marginheight=0 marginwidth=0 src="https://downloads.kitenet.net/git-annex/autobuild/x86_64-apple-yosemite/build-version">
|
||||
</iframe>
|
||||
<h2>Windows</h2>
|
||||
<iframe width=1024 height=20em scrolling=no frameborder=0 marginheight=0 marginwidth=0 src="https://downloads.kitenet.net/git-annex/autobuild/windows/build-version">
|
||||
<iframe width=1024 height=20em scrolling=no frameborder=0 marginheight=0 marginwidth=0 src="fixme">
|
||||
</iframe>
|
||||
"""]]
|
||||
|
||||
|
@ -47,6 +47,10 @@
|
|||
<iframe width=1024 scrolling=no frameborder=0 marginheight=0 marginwidth=0 src="https://downloads.kitenet.net/git-annex/autobuild/x86_64-apple-yosemite/">
|
||||
</iframe>
|
||||
<h2>Debian standalone packages</h2>
|
||||
<a href="https://github.com/datalad/datalad-extensions/actions?query=workflow%3A%22Build+git-annex+snapshot%22"><img src="https://github.com/datalad/datalad-extensions/workflows/Build%20git-annex%20snapshot/badge.svg"></a>
|
||||
<a href="https://github.com/datalad/datalad-extensions/actions?query=workflow%3A%22Build+git-annex+snapshot%22">
|
||||
<img src="https://github.com/datalad/datalad-extensions/workflows/Build%20git-annex%20snapshot/badge.svg">
|
||||
</a>
|
||||
<h2>Windows</h2>
|
||||
<a href="http://vps.zaytsev.net:8080/">here (limited access)</a>
|
||||
<a href="https://github.com/datalad/datalad-extensions/actions?query=workflow%3A%22Build+git-annex+snapshot+on+Windows%22">
|
||||
<img src="https://github.com/datalad/datalad-extensions/workflows/Build%20git-annex%20snapshot%20on%20Windows/badge.svg">
|
||||
</a>
|
||||
|
|
|
@ -9,17 +9,11 @@ git-annex. The assistant and webapp are also usable. There are some known
|
|||
problems and parts that don't work. See [[todo/windows_support]] for
|
||||
current status.
|
||||
|
||||
To verify that the build of git-annex works in your Windows system, you are
|
||||
encouraged to run the test suite before using git-annex on real data. After
|
||||
installation, run `git annex test`. There will be a lot of output; the
|
||||
important thing is that it should end with "All tests passed".
|
||||
|
||||
## autobuilds
|
||||
|
||||
An hourly autobuild is also available, thanks to Yury V. Zaytsev and
|
||||
Dartmouth College.
|
||||
An autobuild is also available, thanks to the Datalad project.
|
||||
|
||||
* [download](https://downloads.kitenet.net/git-annex/autobuild/windows/)
|
||||
* [download](http://datasets.datalad.org/datalad/packages/windows/)
|
||||
|
||||
## building it yourself
|
||||
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Script to build git-annex on windows. Run by build.bat
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
PATH="/c/Program Files/Git/cmd:/c/Program Files/NSIS:$PATH"
|
||||
|
||||
stack setup
|
||||
stack build --dependencies-only
|
||||
|
||||
# Build git-annex
|
||||
stack build
|
||||
|
||||
# Build the installer
|
||||
stack runghc --package nsis Build/NullSoftInstaller.hs
|
|
@ -1,71 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# This script is run by the jenkins autobuilder, in a mingw environment,
|
||||
# to build git-annex for Windows.
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
PATH="/cygdrive/c/git/cmd:/cygdrive/c/Program Files (x86)/NSIS/Bin:/cygdrive/c/Program Files (x86)/NSIS:/usr/local/bin:/usr/bin:/cygdrive/c/Users/jenkins/AppData/Roaming/local/bin:$PATH"
|
||||
|
||||
# Run a command with the cygwin environment available.
|
||||
# However, programs not from cygwin are preferred.
|
||||
withcyg () {
|
||||
PATH="$PATH:/c/cygwin/bin" "$@"
|
||||
}
|
||||
|
||||
# Prefer programs from cygwin.
|
||||
withcygpreferred () {
|
||||
PATH="/c/cygwin/bin:$PATH" "$@"
|
||||
}
|
||||
|
||||
# This tells git-annex where to upgrade itself from.
|
||||
UPGRADE_LOCATION=http://downloads.kitenet.net/git-annex/windows/current/git-annex-installer.exe
|
||||
export UPGRADE_LOCATION
|
||||
|
||||
# This can be used to force git-annex to build supporting a particular
|
||||
# version of git, instead of the version installed at build time.
|
||||
#FORCE_GIT_VERSION=1.9.5
|
||||
#export FORCE_GIT_VERSION
|
||||
|
||||
# Don't allow build artifact from a past successful build to be extracted
|
||||
# if we fail.
|
||||
rm -f git-annex-installer.exe
|
||||
rm -f git-annex.exe
|
||||
rm -rf dist
|
||||
|
||||
# Upgrade stack
|
||||
stack --version
|
||||
#stack upgrade --force-download
|
||||
#stack --version
|
||||
|
||||
# Get stack build environment set up before trying to build any binaries.
|
||||
stack setup
|
||||
stack build --only-dependencies
|
||||
|
||||
# Update version info for git rev being built.
|
||||
mkdir -p dist
|
||||
stack ghc --no-haddock Build/BuildVersion.hs
|
||||
./Build/BuildVersion > dist/build-version
|
||||
|
||||
# Build git-annex
|
||||
stack install -j 1 --no-haddock --local-bin-path .
|
||||
|
||||
# Build the installer
|
||||
withcygpreferred stack ghc --no-haddock \
|
||||
--package nsis Build/NullSoftInstaller.hs
|
||||
./Build/NullSoftInstaller
|
||||
|
||||
# Test git-annex
|
||||
# The test is run in c:/WINDOWS/Temp, because running it in the autobuilder
|
||||
# directory runs afoul of Windows's short PATH_MAX.
|
||||
PATH="$(pwd):$PATH"
|
||||
export PATH
|
||||
mkdir -p c:/WINDOWS/Temp/git-annex-test/
|
||||
cd c:/WINDOWS/Temp/git-annex-test/
|
||||
rm -rf .t
|
||||
|
||||
# Currently the test fails in the autobuilder environment for reasons not
|
||||
# yet understood. Windows users are encouraged to run the test suite
|
||||
# themseves.
|
||||
#withcyg git-annex.exe test || true
|
Loading…
Reference in a new issue