diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2022-12-15 15:46:09 +0000 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-12-24 00:41:40 -0500 |
commit | cbaebfb9d03d01f15eb6bbeee584a70fc09a15c4 (patch) | |
tree | 7cb3d921c75227667375283bdab5e0d72b57f16a | |
parent | 5eb357d905c63cfbe6287a99fbaa8d83289d1a22 (diff) | |
download | haskell-cbaebfb9d03d01f15eb6bbeee584a70fc09a15c4.tar.gz |
head.hackage: Use slow-validate bindist for linting jobs
This enables the SLOW_VALIDATE env var for the linting head.hackage
jobs, namely the jobs enabled manually, by the label or on the nightly
build now use the deb10-numa-slow-validate bindist which has assertions
enabled.
See #22623 for a ticket which was found by using this configuration
already!
The head.hackage jobs triggered by upstream CI are now thusly:
hackage-lint: Can be triggered on any MR, normal validate pipeline or nightly build.
Runs head.hackage with -dlint and a slow-validate bindist
hackage-label-lint: Trigged on MRs with "user-facing" label, runs the slow-validate
head.hackage build with -dlint.
nightly-hackage-lint: Runs automatically on nightly pipelines with slow-validate + dlint config.
nightly-hackage-perf: Runs automaticaly on nightly pipelines with release build and eventlogging enabled.
release-hackage-lint: Runs automatically on release pipelines with -dlint on a release bindist.
-rw-r--r-- | .gitlab-ci.yml | 68 |
1 files changed, 54 insertions, 14 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b88d86fc55..a010464711 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -679,19 +679,21 @@ test-bootstrap: # access to an unprivileged access token with the ability to query the ghc/ghc # project such that it can find the job ID of the fedora33 job for the current # pipeline. +# +# hackage-lint: Can be triggered on any MR, normal validate pipeline or nightly build. +# Runs head.hackage with -dlint and a slow-validate bindist +# +# hackage-label-lint: Trigged on MRs with "user-facing" label, runs the slow-validate +# head.hackage build with -dlint. +# +# nightly-hackage-lint: Runs automatically on nightly pipelines with slow-validate + dlint config. +# +# nightly-hackage-perf: Runs automaticaly on nightly pipelines with release build and eventlogging enabled. +# +# release-hackage-lint: Runs automatically on release pipelines with -dlint on a release bindist. .hackage: stage: testing - needs: - - job: x86_64-linux-fedora33-release - optional: true - artifacts: false - - job: nightly-x86_64-linux-fedora33-release - optional: true - artifacts: false - - job: release-x86_64-linux-fedora33-release - optional: true - artifacts: false variables: UPSTREAM_PROJECT_PATH: "$CI_PROJECT_PATH" UPSTREAM_PROJECT_ID: "$CI_PROJECT_ID" @@ -703,30 +705,56 @@ test-bootstrap: strategy: "depend" hackage-lint: + needs: + - job: x86_64-linux-deb10-numa-slow-validate + optional: true + artifacts: false + - job: nightly-x86_64-linux-deb10-numa-slow-validate + optional: true + artifacts: false extends: .hackage variables: - EXTRA_HC_OPTS: "-dcore-lint" + SLOW_VALIDATE: 1 + EXTRA_HC_OPTS: "-dlint" + # No for release jobs because there isn't a slow-valdate bindist. There is an + # automatic pipeline for release bindists (see release-hackage-lint) + rules: + - if: '$RELEASE_JOB != "yes"' when: manual hackage-label-lint: + needs: + - job: x86_64-linux-deb10-numa-slow-validate + optional: true + artifacts: false extends: .hackage variables: - EXTRA_HC_OPTS: "-dcore-lint" + SLOW_VALIDATE: 1 + EXTRA_HC_OPTS: "-dlint" rules: - if: '$CI_MERGE_REQUEST_LABELS =~ /.*user-facing.*/' -# The head.hackage job is split into two jobs because enabling `-dcore-lint` +# The head.hackage job is split into two jobs because enabling `-dlint` # affects the total allocation numbers for the simplifier portion significantly. nightly-hackage-lint: + needs: + - job: nightly-x86_64-linux-deb10-numa-slow-validate + optional: true + artifacts: false rules: - if: $NIGHTLY variables: NIGHTLY: "$NIGHTLY" extends: .hackage variables: - EXTRA_HC_OPTS: "-dcore-lint" + SLOW_VALIDATE: 1 + EXTRA_HC_OPTS: "-dlint" nightly-hackage-perf: + needs: + - job: nightly-x86_64-linux-fedora33-release + optional: true + artifacts: false rules: - if: $NIGHTLY variables: @@ -738,6 +766,18 @@ nightly-hackage-perf: # Ask head.hackage to generate eventlogs EVENTLOGGING: 1 +release-hackage-lint: + needs: + - job: release-x86_64-linux-fedora33-release + optional: true + artifacts: false + rules: + - if: '$RELEASE_JOB == "yes"' + extends: .hackage + variables: + # No slow-validate bindist on release pipeline + EXTRA_HC_OPTS: "-dlint" + ############################################################ # Nofib testing # (Disabled: See #21859) |