From f3070d2d7d267165f96a2fa26b3463d20acdb771 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 26 Oct 2020 13:06:50 -0400 Subject: [PATCH] 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 --- CHANGELOG | 2 + Jenkinsfile | 55 ----------------------- build.bat | 1 - doc/builds.mdwn | 10 +++-- doc/install/Windows.mdwn | 10 +---- standalone/windows/build-simple.sh | 16 ------- standalone/windows/build.sh | 71 ------------------------------ 7 files changed, 11 insertions(+), 154 deletions(-) delete mode 100644 Jenkinsfile delete mode 100644 build.bat delete mode 100755 standalone/windows/build-simple.sh delete mode 100755 standalone/windows/build.sh diff --git a/CHANGELOG b/CHANGELOG index 0b470d9c1b..983df2f2cb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -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 Thu, 08 Oct 2020 10:48:17 -0400 diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index c77d5383bf..0000000000 --- a/Jenkinsfile +++ /dev/null @@ -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 - } - -} diff --git a/build.bat b/build.bat deleted file mode 100644 index c2ccfac5fb..0000000000 --- a/build.bat +++ /dev/null @@ -1 +0,0 @@ -sh standalone/windows/build-simple.sh diff --git a/doc/builds.mdwn b/doc/builds.mdwn index b56caa4195..a95d340e07 100644 --- a/doc/builds.mdwn +++ b/doc/builds.mdwn @@ -22,7 +22,7 @@

Windows

- """]] @@ -47,6 +47,10 @@

Debian standalone packages

- + + +

Windows

-here (limited access) + + + diff --git a/doc/install/Windows.mdwn b/doc/install/Windows.mdwn index 08d8e63f53..6c4029d413 100644 --- a/doc/install/Windows.mdwn +++ b/doc/install/Windows.mdwn @@ -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 diff --git a/standalone/windows/build-simple.sh b/standalone/windows/build-simple.sh deleted file mode 100755 index bee40e3356..0000000000 --- a/standalone/windows/build-simple.sh +++ /dev/null @@ -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 diff --git a/standalone/windows/build.sh b/standalone/windows/build.sh deleted file mode 100755 index 0a772e4a8f..0000000000 --- a/standalone/windows/build.sh +++ /dev/null @@ -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