summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Angermann <moritz.angermann@gmail.com>2021-04-22 10:14:33 +0800
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-05-25 05:52:02 -0400
commit8f22af8cbd4365382555cb8db676d87d02256d8d (patch)
treedf5cc56658ce0414733d015edde7863176be0944
parent6ce8e68753da41a444021e84405c153eb3d70a67 (diff)
downloadhaskell-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.yml72
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]