summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Angermann <moritz.angermann@gmail.com>2021-07-20 11:56:29 +0800
committerBen Gamari <ben@smart-cactus.org>2021-07-25 09:41:46 -0400
commit3801b35a4c479b07275a61df11d0107c242a4e43 (patch)
tree29fa89a3c88e03d7f9a9f6f6f5cc219d22a0709e
parenta31aa2716b80e617c36db816460faa94ee952b64 (diff)
downloadhaskell-3801b35a4c479b07275a61df11d0107c242a4e43.tar.gz
[CI] absolutely no caching on darwin
We failed at doing caching properly, so for now we won't do any caching at all. This is not safe in a concurrent setting, however all our darwin builders run with concurrency 1, and -j8, on 8 core m1 mac minis.
-rw-r--r--.gitlab-ci.yml30
-rw-r--r--.gitlab/shell.nix6
2 files changed, 16 insertions, 20 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dd192172ff..1cb8d7ac66 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -585,7 +585,6 @@ validate-x86_64-darwin:
BUILD_FLAVOUR: "validate"
# Due to #19025
IGNORE_PERF_FAILURES: "all"
- CABAL_CACHE: "cabal-cache-amd64"
after_script:
- .gitlab/ci.sh clean
@@ -601,12 +600,16 @@ validate-x86_64-darwin:
--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 HADRIAN_ARGS --keep CABAL_CACHE \
+ --keep CI_PROJECT_DIR --keep MAKE_ARGS --keep HADRIAN_ARGS --keep HOME \
--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 \
--keep PERF_NOTE_KEY --keep HEAD_HACKAGE_TRIGGER_TOKEN \
--run "$1" 2>&1
}
+ # make sure home exists
+ export HOME=$HOME/x86_64-home
+ mkdir -p $HOME
+
# fix up config.sub in libraries for the time.
# aarch64-darwin is not supported in older config.sub's
TIME_START=$(date +%s)
@@ -617,6 +620,9 @@ validate-x86_64-darwin:
TIME_SETUP_DELTA=$(expr $TIME_SETUP - $TIME_START)
echo "Setup took $TIME_SETUP_DELTA seconds"
+ # make sure $HOME is prisine
+ echo "Deleting $HOME/.cabal"
+ rm -fR $HOME/.cabal
runInNixShell "cabal update --index=$HACKAGE_INDEX_STATE" 2>&1
runInNixShell ".gitlab/ci.sh configure" 2>&1
@@ -651,11 +657,6 @@ validate-x86_64-darwin:
artifacts:
when: always
expire_in: 2 week
- cache:
- key: "darwin-amd64-$GHC_VERSION"
- paths:
- - cabal-cache-amd64
- - toolchain
validate-aarch64-darwin:
extends: .validate-hadrian
@@ -680,7 +681,6 @@ validate-aarch64-darwin:
HADRIAN_ARGS: "--docs=no-sphinx"
BIN_DIST_NAME: "ghc-arm64-apple-darwin"
TEST_ENV: "aarch64-darwin-hadrian"
- CABAL_CACHE: "cabal-cache-arm64"
after_script:
- .gitlab/ci.sh clean
@@ -696,11 +696,15 @@ validate-aarch64-darwin:
--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 HADRIAN_ARGS --keep CABAL_CACHE \
+ --keep CI_PROJECT_DIR --keep MAKE_ARGS --keep HADRIAN_ARGS --keep HOME \
--keep LANG --keep CONFIGURE_ARGS --keep TEST_ENV --keep BIN_DIST_NAME \
--keep HACKAGE_INDEX_STATE \
--run "$1" 2>&1
}
+ export HOME=$HOME/arm64-home
+ # make sure home exists
+ mkdir -p $HOME
+
# fix up config.sub in libraries for the time.
# aarch64-darwin is not supported in older config.sub's
TIME_START=$(date +%s)
@@ -711,6 +715,9 @@ validate-aarch64-darwin:
TIME_SETUP_DELTA=$(expr $TIME_SETUP - $TIME_START)
echo "Setup took $TIME_SETUP_DELTA seconds"
+ # make sure $HOME is prisine
+ echo "Deleting $HOME/.cabal"
+ rm -fR $HOME/.cabal
runInNixShell "cabal update --index=$HACKAGE_INDEX_STATE" 2>&1
runInNixShell ".gitlab/ci.sh configure" 2>&1
@@ -744,11 +751,6 @@ validate-aarch64-darwin:
artifacts:
when: always
expire_in: 2 week
- cache:
- key: "darwin-arm64-$GHC_VERSION"
- paths:
- - cabal-cache-arm64
- - toolchain
.validate-linux:
extends: .validate
diff --git a/.gitlab/shell.nix b/.gitlab/shell.nix
index dfaa9b5c5b..1ded62d982 100644
--- a/.gitlab/shell.nix
+++ b/.gitlab/shell.nix
@@ -45,15 +45,9 @@
# unconditionally add the MacOSX.sdk and TargetConditional.h
export NIX_CFLAGS_COMPILE+=" -isystem /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include"
export NIX_LDFLAGS="-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib $NIX_LDFLAGS"
- echo $NIX_LDFLAGS
- echo $MACOSX_DEPLOYMENT_TARGET
export MACOSX_DEPLOYMENT_TARGET=10.7
- echo $MACOSX_DEPLOYMENT_TARGET
- # Use an architecture specific home, so cabal for different architectures don't confuse each other.
- export HOME="$HOME/$(uname -m)-home"
- mkdir -p $HOME
'';
nativeBuildInputs = (with pkgs; [