diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-12-21 14:29:26 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-12-24 00:42:16 -0500 |
commit | f42ba88fd32f1def7dcf02f0a2227b453bf5971c (patch) | |
tree | 2dc9305c784af4af219111592d5dff10d8dc9602 | |
parent | 63b97430e5bd476923cd0cd8a6c71b17a20e3c4b (diff) | |
download | haskell-f42ba88fd32f1def7dcf02f0a2227b453bf5971c.tar.gz |
gitlab-ci: Introduce aarch64-linux-llvm job
This nightly job will ensure that we don't break the LLVM backend on
AArch64/Linux by bootstrapping GHC.
This would have caught #22640.
-rwxr-xr-x | .gitlab/gen_ci.hs | 1 | ||||
-rw-r--r-- | .gitlab/jobs.yaml | 177 |
2 files changed, 178 insertions, 0 deletions
diff --git a/.gitlab/gen_ci.hs b/.gitlab/gen_ci.hs index 86356e57b2..2e927f4f26 100755 --- a/.gitlab/gen_ci.hs +++ b/.gitlab/gen_ci.hs @@ -807,6 +807,7 @@ jobs = Map.fromList $ concatMap flattenJobGroup $ , allowFailureGroup (addValidateRule FreeBSDLabel (standardBuilds Amd64 FreeBSD13)) , standardBuilds AArch64 Darwin , standardBuilds AArch64 (Linux Debian10) + , disableValidate (standardBuildsWithConfig AArch64 (Linux Debian10) llvm) , standardBuilds I386 (Linux Debian9) , standardBuildsWithConfig Amd64 (Linux Alpine) static , disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine) staticNativeInt)) diff --git a/.gitlab/jobs.yaml b/.gitlab/jobs.yaml index 63ee38aca3..c9b72f24d0 100644 --- a/.gitlab/jobs.yaml +++ b/.gitlab/jobs.yaml @@ -120,6 +120,64 @@ "TEST_ENV": "aarch64-linux-deb10-validate" } }, + "aarch64-linux-deb10-validate+llvm": { + "after_script": [ + ".gitlab/ci.sh save_cache", + ".gitlab/ci.sh clean", + "cat ci_timings" + ], + "allow_failure": false, + "artifacts": { + "expire_in": "2 weeks", + "paths": [ + "ghc-aarch64-linux-deb10-validate+llvm.tar.xz", + "junit.xml" + ], + "reports": { + "junit": "junit.xml" + }, + "when": "always" + }, + "cache": { + "key": "aarch64-linux-deb10-$CACHE_REV", + "paths": [ + "cabal-cache", + "toolchain" + ] + }, + "dependencies": [], + "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb10:$DOCKER_REV", + "needs": [ + { + "artifacts": false, + "job": "hadrian-ghc-in-ghci" + } + ], + "rules": [ + { + "if": "($CI_MERGE_REQUEST_LABELS !~ /.*fast-ci.*/) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null) && (\"true\" == \"true\") && (\"true\" == \"true\") && (\"disabled\" != \"disabled\")", + "when": "on_success" + } + ], + "script": [ + "sudo chown ghc:ghc -R .", + ".gitlab/ci.sh setup", + ".gitlab/ci.sh configure", + ".gitlab/ci.sh build_hadrian", + ".gitlab/ci.sh test_hadrian" + ], + "stage": "full-build", + "tags": [ + "aarch64-linux" + ], + "variables": { + "BIGNUM_BACKEND": "gmp", + "BIN_DIST_NAME": "ghc-aarch64-linux-deb10-validate+llvm", + "BUILD_FLAVOUR": "validate+llvm", + "CONFIGURE_ARGS": "", + "TEST_ENV": "aarch64-linux-deb10-validate+llvm" + } + }, "i386-linux-deb9-validate": { "after_script": [ ".gitlab/ci.sh save_cache", @@ -300,6 +358,65 @@ "XZ_OPT": "-9" } }, + "nightly-aarch64-linux-deb10-validate+llvm": { + "after_script": [ + ".gitlab/ci.sh save_cache", + ".gitlab/ci.sh clean", + "cat ci_timings" + ], + "allow_failure": false, + "artifacts": { + "expire_in": "8 weeks", + "paths": [ + "ghc-aarch64-linux-deb10-validate+llvm.tar.xz", + "junit.xml" + ], + "reports": { + "junit": "junit.xml" + }, + "when": "always" + }, + "cache": { + "key": "aarch64-linux-deb10-$CACHE_REV", + "paths": [ + "cabal-cache", + "toolchain" + ] + }, + "dependencies": [], + "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb10:$DOCKER_REV", + "needs": [ + { + "artifacts": false, + "job": "hadrian-ghc-in-ghci" + } + ], + "rules": [ + { + "if": "($CI_MERGE_REQUEST_LABELS !~ /.*fast-ci.*/) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY) && (\"true\" == \"true\") && (\"true\" == \"true\") && (\"true\" == \"true\")", + "when": "on_success" + } + ], + "script": [ + "sudo chown ghc:ghc -R .", + ".gitlab/ci.sh setup", + ".gitlab/ci.sh configure", + ".gitlab/ci.sh build_hadrian", + ".gitlab/ci.sh test_hadrian" + ], + "stage": "full-build", + "tags": [ + "aarch64-linux" + ], + "variables": { + "BIGNUM_BACKEND": "gmp", + "BIN_DIST_NAME": "ghc-aarch64-linux-deb10-validate+llvm", + "BUILD_FLAVOUR": "validate+llvm", + "CONFIGURE_ARGS": "", + "TEST_ENV": "aarch64-linux-deb10-validate+llvm", + "XZ_OPT": "-9" + } + }, "nightly-i386-linux-deb9-validate": { "after_script": [ ".gitlab/ci.sh save_cache", @@ -1869,6 +1986,66 @@ "XZ_OPT": "-9" } }, + "release-aarch64-linux-deb10-release+llvm": { + "after_script": [ + ".gitlab/ci.sh save_cache", + ".gitlab/ci.sh clean", + "cat ci_timings" + ], + "allow_failure": false, + "artifacts": { + "expire_in": "1 year", + "paths": [ + "ghc-aarch64-linux-deb10-release+llvm.tar.xz", + "junit.xml" + ], + "reports": { + "junit": "junit.xml" + }, + "when": "always" + }, + "cache": { + "key": "aarch64-linux-deb10-$CACHE_REV", + "paths": [ + "cabal-cache", + "toolchain" + ] + }, + "dependencies": [], + "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb10:$DOCKER_REV", + "needs": [ + { + "artifacts": false, + "job": "hadrian-ghc-in-ghci" + } + ], + "rules": [ + { + "if": "($CI_MERGE_REQUEST_LABELS !~ /.*fast-ci.*/) && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null) && (\"true\" == \"true\") && (\"true\" == \"true\") && (\"true\" == \"true\")", + "when": "on_success" + } + ], + "script": [ + "sudo chown ghc:ghc -R .", + ".gitlab/ci.sh setup", + ".gitlab/ci.sh configure", + ".gitlab/ci.sh build_hadrian", + ".gitlab/ci.sh test_hadrian" + ], + "stage": "full-build", + "tags": [ + "aarch64-linux" + ], + "variables": { + "BIGNUM_BACKEND": "gmp", + "BIN_DIST_NAME": "ghc-aarch64-linux-deb10-release+llvm", + "BUILD_FLAVOUR": "release+llvm", + "CONFIGURE_ARGS": "", + "IGNORE_PERF_FAILURES": "all", + "TEST_ENV": "aarch64-linux-deb10-release+llvm", + "XZ_OPT": "-9" + } + }, "release-i386-linux-deb9-release": { "after_script": [ ".gitlab/ci.sh save_cache", |