diff options
author | Moritz Angermann <moritz.angermann@gmail.com> | 2021-04-22 10:14:33 +0800 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-05-25 05:52:02 -0400 |
commit | 8f22af8cbd4365382555cb8db676d87d02256d8d (patch) | |
tree | df5cc56658ce0414733d015edde7863176be0944 | |
parent | 6ce8e68753da41a444021e84405c153eb3d70a67 (diff) | |
download | haskell-8f22af8cbd4365382555cb8db676d87d02256d8d.tar.gz |
[ci] darwin uses hadrian
Make is bad, and really slow, and we should just stop using it
outright, or kill hadrian. Let's rather go for hadrian all the
way and phase out make.
-rw-r--r-- | .gitlab-ci.yml | 72 |
1 files changed, 24 insertions, 48 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 15eb02546b..63251727c2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -520,8 +520,8 @@ release-x86_64-freebsd: # x86_64-darwin ################################# -.validate-x86_64-darwin: - extends: .validate +validate-x86_64-darwin: + extends: .validate-hadrian stage: full-build tags: - x86_64-darwin-m1 @@ -548,7 +548,9 @@ release-x86_64-freebsd: LANG: "en_US.UTF-8" # WARNING: this is overridden in the shell.nix, see shell.nix! CONFIGURE_ARGS: "--with-intree-gmp" - TEST_ENV: "x86_64-darwin" + HADRIAN_ARGS: "--docs=no-sphinx" + TEST_ENV: "x86_64-darwin-hadrian" + BIN_DIST_NAME: "ghc-amd64-apple-darwin" BUILD_FLAVOUR: "validate" # Due to #19025 IGNORE_PERF_FAILURES: "all" @@ -568,9 +570,9 @@ release-x86_64-freebsd: --pure \ --keep GHC_VERSION --keep CABAL_INSTALL_VERSION --keep BUILD_FLAVOUR \ --keep BIN_DIST_PREP_TAR_COMP --keep CPUS --keep PROJECT_DIR \ - --keep CI_PROJECT_DIR --keep MAKE_ARGS \ - --keep LANG --keep CONFIGURE_ARGS \ - --keep MACOSX_DEPLOYMENT_TARGET --keep ac_cv_func_clock_gettime \ + --keep CI_PROJECT_DIR --keep MAKE_ARGS --keep HADRIAN_ARGS \ + --keep LANG --keep CONFIGURE_ARGS --keep TEST_ENV --keep BIN_DIST_NAME \ + --keep MACOSX_DEPLOYMENT_TARGET --keep ac_cv_func_clock_gettime --keep HACKAGE_INDEX_STATE \ --run "$1" 2>&1 } # fix up config.sub in libraries for the time. @@ -583,18 +585,20 @@ release-x86_64-freebsd: TIME_SETUP_DELTA=$(expr $TIME_SETUP - $TIME_START) echo "Setup took $TIME_SETUP_DELTA seconds" + runInNixShell "cabal update --index=$HACKAGE_INDEX_STATE" 2>&1 + runInNixShell ".gitlab/ci.sh configure" 2>&1 TIME_CONFIGURE=$(date +%s) TIME_CONFIGURE_DELTA=$(expr $TIME_CONFIGURE - $TIME_SETUP) echo "Configure took $TIME_CONFIGURE_DELTA seconds" - runInNixShell ".gitlab/ci.sh build_make" 2>&1 + runInNixShell ".gitlab/ci.sh build_hadrian" 2>&1 TIME_BUILD=$(date +%s) TIME_BUILD_DELTA=$(expr $TIME_BUILD - $TIME_CONFIGURE) echo "Build took $TIME_BUILD_DELTA seconds" set +e - runInNixShell ".gitlab/ci.sh test_make" 2>&1 + runInNixShell ".gitlab/ci.sh test_hadrian" 2>&1 status=$? set -e @@ -618,8 +622,8 @@ release-x86_64-freebsd: - cabal-cache - toolchain -.validate-aarch64-darwin: - extends: .validate +validate-aarch64-darwin: + extends: .validate-hadrian stage: full-build tags: - aarch64-darwin-m1 @@ -641,6 +645,9 @@ release-x86_64-freebsd: LANG: "en_US.UTF-8" # WARNING: this is overridden in the shell.nix, see shell.nix! CONFIGURE_ARGS: "--with-intree-gmp" + HADRIAN_ARGS: "--docs=no-sphinx" + BIN_DIST_NAME: "ghc-arm64-apple-darwin" + TEST_ENV: "aarch64-darwin-hadrian" # I wish we could just use the nix #! logic, but we can't --run and -i bash # behave very differently. -i bash does not pass any nix related env vars @@ -654,8 +661,9 @@ release-x86_64-freebsd: --pure \ --keep GHC_VERSION --keep CABAL_INSTALL_VERSION --keep BUILD_FLAVOUR \ --keep BIN_DIST_PREP_TAR_COMP --keep CPUS --keep PROJECT_DIR \ - --keep CI_PROJECT_DIR --keep MAKE_ARGS \ - --keep LANG --keep CONFIGURE_ARGS \ + --keep CI_PROJECT_DIR --keep MAKE_ARGS --keep HADRIAN_ARGS \ + --keep LANG --keep CONFIGURE_ARGS --keep TEST_ENV --keep BIN_DIST_NAME \ + --keep HACKAGE_INDEX_STATE \ --run "$1" 2>&1 } # fix up config.sub in libraries for the time. @@ -668,18 +676,20 @@ release-x86_64-freebsd: TIME_SETUP_DELTA=$(expr $TIME_SETUP - $TIME_START) echo "Setup took $TIME_SETUP_DELTA seconds" + runInNixShell "cabal update --index=$HACKAGE_INDEX_STATE" 2>&1 + runInNixShell ".gitlab/ci.sh configure" 2>&1 TIME_CONFIGURE=$(date +%s) TIME_CONFIGURE_DELTA=$(expr $TIME_CONFIGURE - $TIME_SETUP) echo "Setup took $TIME_CONFIGURE_DELTA seconds" - runInNixShell ".gitlab/ci.sh build_make" 2>&1 + runInNixShell ".gitlab/ci.sh build_hadrian" 2>&1 TIME_BUILD=$(date +%s) TIME_BUILD_DELTA=$(expr $TIME_BUILD - $TIME_CONFIGURE) echo "Build took $TIME_BUILD_DELTA seconds" set +e - runInNixShell ".gitlab/ci.sh test_make" 2>&1 + runInNixShell ".gitlab/ci.sh test_hadrian" 2>&1 status=$? set -e TIME_TEST=$(date +%s) @@ -702,40 +712,6 @@ release-x86_64-freebsd: - cabal-cache - toolchain -# Disabled because of OS X CI capacity -.validate-x86_64-darwin-hadrian: - stage: full-build - needs: [validate-x86_64-linux-deb9-hadrian] - tags: - - x86_64-darwin - variables: - GHC_VERSION: 8.10.4 - MACOSX_DEPLOYMENT_TARGET: "10.7" - ac_cv_func_clock_gettime: "no" - LANG: "en_US.UTF-8" - CONFIGURE_ARGS: --with-intree-gmp - TEST_ENV: "x86_64-darwin-hadrian" - # Due to #19025 - IGNORE_PERF_FAILURES: "all" - BIN_DIST_NAME: "ghc-x86_64-apple-darwin" - BUILD_FLAVOUR: "validate" - script: - - .gitlab/ci.sh setup - - .gitlab/ci.sh configure - - .gitlab/ci.sh build_hadrian - - .gitlab/ci.sh test_hadrian - after_script: - - cp -Rf $HOME/.cabal cabal-cache - - .gitlab/ci.sh clean - artifacts: - when: always - expire_in: 2 week - reports: - junit: junit.xml - paths: - - "$BIN_DIST_NAME.tar.xz" - - junit.xml - .validate-linux: extends: .validate needs: [validate-x86_64-linux-deb9-hadrian] |