From 9ecc9bb08822db7930e9c9d3143b0f6b07901929 Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Tue, 5 Mar 2019 16:41:55 -0500 Subject: gitlab-ci: Implement support for i386/Windows bindists --- .gitlab-ci.yml | 57 ++++++++++++++++++++++++++++++++++++++++++--------- .gitlab/win32-init.sh | 14 ++++++++++++- 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 -- cgit v1.2.1