diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2022-09-15 12:07:08 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-12-08 22:45:27 -0500 |
commit | 0a76d7d415cfa8facfa6d36101210f9e2e3ff0a6 (patch) | |
tree | b58f457ee873c8b68da8f9038024cedbaa0bd345 /.gitlab-ci.yml | |
parent | 5d0a311f28b96e8be2e051ae8cb08cc654d0b63e (diff) | |
download | haskell-0a76d7d415cfa8facfa6d36101210f9e2e3ff0a6.tar.gz |
ci: Add job for testing interface stability across builds
The idea is that both the bindists should product libraries with the
same ABI and interface hash.
So the job checks with ghc-pkg to make sure the computed ABI
is the same.
In future this job can be extended to check for the other facets of
interface determinism.
Fixes #22180
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f6ef3e2c3f..d9c7ff1761 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -405,6 +405,33 @@ test-cabal-reinstall-x86_64-linux-deb10: rules: - if: $NIGHTLY +######################################## +# Testing ABI is invariant across builds +######################################## + +abi-test-nightly: + stage: full-build + needs: + - job: nightly-x86_64-linux-fedora33-release-hackage + - job: nightly-x86_64-linux-fedora33-release + tags: + - x86_64-linux + image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora33:$DOCKER_REV" + dependencies: null + before_script: + - mkdir -p normal + - mkdir -p hackage + - tar -xf ghc-x86_64-linux-fedora33-release.tar.xz -C normal/ + - tar -xf ghc-x86_64-linux-fedora33-release-hackage_docs.tar.xz -C hackage/ + script: + - .gitlab/ci.sh compare_interfaces_of "normal/ghc-*" "hackage/ghc-*" + artifacts: + paths: + - out + rules: + - if: $NIGHTLY + - if: '$RELEASE_JOB == "yes"' + ############################################################ # Packaging ############################################################ |