[Git][ghc/ghc][wip/head-hackage-validate] 4 commits: ci: Move wasm pipelines into nightly rather than master
Matthew Pickering (@mpickering)
gitlab at gitlab.haskell.org
Fri Dec 23 09:16:41 UTC 2022
Matthew Pickering pushed to branch wip/head-hackage-validate at Glasgow Haskell Compiler / GHC
Commits:
16a1bcd1 by Matthew Pickering at 2022-12-23T09:15:24+00:00
ci: Move wasm pipelines into nightly rather than master
See #22664 for the changes which need to be made to bring one of these
back to the validate pipeline.
- - - - -
09a76b9f by Matthew Pickering at 2022-12-23T09:16:38+00:00
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.
- - - - -
348332df by Matthew Pickering at 2022-12-23T09:16:38+00:00
ci: Don't run abi-test-nightly on release jobs
The test is not configured to get the correct dependencies for the
release pipelines (and indeed stops the release pipeline being run at
all)
- - - - -
31a28d5b by Matthew Pickering at 2022-12-23T09:16:38+00:00
ci: Run head.hackage jobs on upstream-testing branch rather than master
This change allows less priviledged users to trigger head.hackage jobs
because less permissions are needed to trigger jobs on the
upstream-testing branch, which is not protected.
There is a CI job which updates upstream-testing each hour to the state
of the master branch so it should always be relatively up-to-date.
- - - - -
1 changed file:
- .gitlab-ci.yml
Changes:
=====================================
.gitlab-ci.yml
=====================================
@@ -481,7 +481,6 @@ abi-test-nightly:
- out
rules:
- if: $NIGHTLY
- - if: '$RELEASE_JOB == "yes"'
############################################################
# Packaging
@@ -679,19 +678,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"
@@ -699,34 +700,60 @@ test-bootstrap:
RELEASE_JOB: "$RELEASE_JOB"
trigger:
project: "ghc/head.hackage"
- branch: "master"
+ branch: "upstream-testing"
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 +765,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)
@@ -911,7 +950,8 @@ pages:
.x86_64-linux-ubuntu20_04-cross_wasm32-wasi-release:
stage: full-build
rules:
- - when: always
+ # See #22664 to see what needs to be done to bring this up to the validate pipeline standards.
+ - if: $NIGHTLY
tags:
- x86_64-linux
image: registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-ubuntu20_04:$DOCKER_REV
@@ -953,7 +993,7 @@ pages:
- cat ci-timings
artifacts:
- expire_in: 1 year
+ expire_in: 8 weeks
paths:
- ghc-x86_64-linux-ubuntu20_04-cross_wasm32-wasi-int_$BIGNUM_BACKEND-release.tar.xz
when: always
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/54f582f88f5b25278312e930a109a6b58306b38d...31a28d5be40998cb38e9b8c19809be0d866f871b
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/54f582f88f5b25278312e930a109a6b58306b38d...31a28d5be40998cb38e9b8c19809be0d866f871b
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20221223/e0c35262/attachment-0001.html>
More information about the ghc-commits
mailing list