summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-03-05 16:41:55 -0500
committerBen Gamari <ben@smart-cactus.org>2019-03-05 16:42:53 -0500
commit9ecc9bb08822db7930e9c9d3143b0f6b07901929 (patch)
treea5c2f4b95e45e31de6c84457828151d927a4a2be
parent646b6dfbe125aa756a935e840979ba11b4a882c0 (diff)
downloadhaskell-wip/i386-win32-builds.tar.gz
gitlab-ci: Implement support for i386/Windows bindistswip/i386-win32-builds
-rw-r--r--.gitlab-ci.yml57
-rw-r--r--.gitlab/win32-init.sh14
2 files changed, 60 insertions, 11 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b6fb0c7bad..6121fa64ce 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -385,21 +385,20 @@ release-x86_64-linux-fedora27:
dependencies: []
variables:
FORCE_SYMLINKS: 1
+ LANG: "en_US.UTF-8"
cache:
paths:
- cabal-cache
- ghc-8.6.2
- ghc-tarballs
-validate-x86_64-windows-hadrian:
+.build-windows-hadrian:
extends: .validate-windows
stage: full-build
variables:
GHC_VERSION: "8.6.2"
- LANG: "en_US.UTF-8"
script:
- |
- set MSYSTEM=MINGW64
python boot
bash -c './configure --enable-tarballs-autodownload GHC=`pwd`/toolchain/bin/ghc HAPPY=`pwd`/toolchain/bin/happy ALEX=`pwd`/toolchain/bin/alex'
- bash -c "PATH=`pwd`/toolchain/bin:$PATH hadrian/build.cabal.sh -j`mk/detect-cpu-count.sh` --flavour=Quick"
@@ -408,22 +407,35 @@ validate-x86_64-windows-hadrian:
#- bash -c "PATH=`pwd`/toolchain/bin:$PATH hadrian/build.cabal.sh binary-dist"
# FIXME: Testsuite disabled due to #16156.
#- bash -c 'make V=0 test THREADS=`mk/detect-cpu-count.sh` JUNIT_FILE=../../junit.xml'
- cache:
- key: x86_64-windows
tags:
- x86_64-windows
-validate-x86_64-windows:
+validate-x86_64-windows-hadrian:
+ extends: .build-windows-hadrian
+ variables:
+ MSYSTEM: MINGW64
+ cache:
+ key: x86_64-windows-hadrian
+
+nightly-i386-windows-hadrian:
+ extends: .build-windows-hadrian
+ variables:
+ MSYSTEM: MINGW32
+ only:
+ variables:
+ - $NIGHTLY
+ cache:
+ key: i386-windows-hadrian
+
+.build-windows:
extends: .validate-windows
stage: full-build
# due to #16084
allow_failure: true
variables:
GHC_VERSION: "8.6.2"
- LANG: "en_US.UTF-8"
script:
- |
- set MSYSTEM=MINGW64
python boot
bash -c './configure --enable-tarballs-autodownload GHC=`pwd`/toolchain/bin/ghc HAPPY=`pwd`/toolchain/bin/happy ALEX=`pwd`/toolchain/bin/alex'
- bash -c "echo include mk/flavours/quick.mk > mk/build.mk"
@@ -432,18 +444,43 @@ validate-x86_64-windows:
bash -c "make binary-dist TAR_COMP_OPTS=-1"
mv ghc-*.tar.xz ghc.tar.xz
- bash -c 'make V=0 test THREADS=`mk/detect-cpu-count.sh` JUNIT_FILE=../../junit.xml'
- cache:
- key: x86_64-windows
tags:
- x86_64-windows
artifacts:
when: always
+ expire_in: 2 week
reports:
junit: junit.xml
paths:
- ghc.tar.xz
- junit.xml
+validate-x86_64-windows:
+ extends: .build-windows
+ variables:
+ MSYSTEM: MINGW64
+ cache:
+ key: x86_64-windows
+
+release-i386-windows:
+ extends: .build-windows
+ only:
+ - tags
+ variables:
+ MSYSTEM: MINGW32
+ cache:
+ key: i386-windows
+
+nightly-i386-windows:
+ extends: .build-windows
+ only:
+ variables:
+ - $NIGHTLY
+ variables:
+ MSYSTEM: MINGW32
+ cache:
+ key: i386-windows
+
############################################################
# Cleanup
############################################################
diff --git a/.gitlab/win32-init.sh b/.gitlab/win32-init.sh
index dce9be8d16..aacb6d7af6 100644
--- a/.gitlab/win32-init.sh
+++ b/.gitlab/win32-init.sh
@@ -10,7 +10,19 @@ if [ -d "`pwd`/cabal-cache" ]; then
fi
if [ ! -e $toolchain/bin/ghc ]; then
- curl https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-x86_64-unknown-mingw32.tar.xz | tar -xJ
+ case $MSYSTEM in
+ MINGW32)
+ triple="i386-unknown-mingw32"
+ ;;
+ MINGW64)
+ triple="x86_64-unknown-mingw32"
+ ;;
+ *)
+ echo "win32-init: Unknown MSYSTEM $MSYSTEM"
+ exit 1
+ ;;
+ esac
+ curl https://downloads.haskell.org/~ghc/$GHC_VERSION/ghc-$GHC_VERSION-$triple.tar.xz | tar -xJ
mv ghc-$GHC_VERSION toolchain
fi