diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2022-09-23 12:13:25 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-12-08 22:45:27 -0500 |
commit | 5d0a311f28b96e8be2e051ae8cb08cc654d0b63e (patch) | |
tree | c94eb0eaa3fe7b8dff68a3845de144729f6c606e /.gitlab-ci.yml | |
parent | 216deefd377cf495f07f05a9b355e8d842ccb5b6 (diff) | |
download | haskell-5d0a311f28b96e8be2e051ae8cb08cc654d0b63e.tar.gz |
ci: Add job to test interface file determinism guarantees
In this job we can run on every commit we add a test which builds the
Cabal library twice and checks that the ABI hash and interface hash is
stable across the two builds.
* We run the test 20 times to try to weed out any race conditions due to
`-j`
* We run the builds in different temporary directories to try to weed
out anything related to build directory affecting ABI or interface
file hash.
Fixes #22180
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f19c78c561..f6ef3e2c3f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -753,6 +753,46 @@ perf: rules: - if: '$CI_MERGE_REQUEST_LABELS !~ /.*fast-ci.*/' +############################################################ +# ABI testing +############################################################ + +abi-test: + stage: testing + needs: + - job: x86_64-linux-fedora33-release + optional: true + - job: nightly-x86_64-linux-fedora33-release + optional: true + - job: release-x86_64-linux-fedora33-release + optional: true + dependencies: null + image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora33:$DOCKER_REV" + rules: + - if: $CI_MERGE_REQUEST_ID + - if: '$CI_COMMIT_BRANCH == "master"' + - if: '$CI_COMMIT_BRANCH =~ /ghc-[0.9]+\.[0-9]+/' + tags: + - x86_64-linux + script: + - root=$(pwd)/ghc + - | + mkdir tmp + tar -xf ghc-x86_64-linux-fedora33-release.tar.xz -C tmp + pushd tmp/ghc-*/ + ./configure --prefix=$root + make install + popd + rm -Rf tmp + - export BOOT_HC=$(which ghc) + - export HC=$root/bin/ghc + - .gitlab/ci.sh abi_test + artifacts: + paths: + - out + rules: + - if: '$CI_MERGE_REQUEST_LABELS !~ /.*fast-ci.*/' + ############################################################ # Documentation deployment via GitLab Pages |