summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZubin Duggal <zubin.duggal@gmail.com>2021-12-13 18:04:41 +0530
committerMatthew Pickering <matthewtpickering@gmail.com>2022-01-07 16:02:04 +0000
commit12b4f5b5e7e10b56f020564155505b31abbc5181 (patch)
treecea6d8e33e1fbd42fd08e9d4f78b7e68d8c4b9f5
parente4e806a51bced1f3fafd4e308bfd9992436cbc7c (diff)
downloadhaskell-wip/hadrian-source-dist.tar.gz
ci: test bootstrapping and use hadrian for source distswip/hadrian-source-dist
-rw-r--r--.gitlab-ci.yml43
-rwxr-xr-x.gitlab/ci.sh2
2 files changed, 32 insertions, 13 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3ce90b3f43..759f3ad253 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1271,27 +1271,46 @@ doc-tarball:
source-tarball:
stage: packaging
- needs: [validate-x86_64-linux-deb9-unreg-hadrian]
tags:
- x86_64-linux
- image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV"
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
dependencies: []
- rules:
- - if: $CI_COMMIT_TAG
- when: always
artifacts:
paths:
- ghc-*.tar.xz
- - version
+ - hadrian-bootstrap-sources-*.tar.gz
script:
- - python3 mk/get-win32-tarballs.py download all
- ./boot
- ./configure
- - make sdist
- - mv sdistprep/*.xz .
- - make show! --quiet VALUE=ProjectVersion > version
- - source version
- - echo "$ProjectVersion" > version
+ - ./hadrian/build source-dist
+ - mv _build/source-dist/*.xz .
+ - python3 ./hadrian/bootstrap/bootstrap.py -w $GHC fetch -o hadrian-bootstrap-sources-$GHC_VERSION
+
+test-bootstrap:
+ stage: packaging
+ needs: [source-tarball]
+ tags:
+ - x86_64-linux
+ image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
+ dependencies: [source-tarball]
+ script:
+ - mkdir test-bootstrap
+ - tar -xf ghc-*[0-9]-src.tar.xz -C test-bootstrap
+ - tar -xf ghc-*-testsuite.tar.xz -C test-bootstrap
+ - cp hadrian-bootstrap-sources-*.tar.gz test-bootstrap/ghc-*
+ - pushd test-bootstrap/ghc-*
+ - python3 ./hadrian/bootstrap/bootstrap.py -w $GHC --bootstrap-sources hadrian-bootstrap-sources-*.tar.gz
+ - export HADRIAN_PATH="$PWD/_build/bin/hadrian"
+ - .gitlab/ci.sh setup
+ - .gitlab/ci.sh configure
+ - .gitlab/ci.sh build_hadrian
+ - .gitlab/ci.sh test_hadrian
+ - popd
+ - rm -Rf test-bootstrap
+ variables:
+ TEST_ENV: "x86_64-linux-deb10-hadrian"
+ BIN_DIST_NAME: "ghc-x86_64-deb10-linux"
+ BUILD_FLAVOUR: "validate"
############################################################
diff --git a/.gitlab/ci.sh b/.gitlab/ci.sh
index 054e429042..776eff3a4a 100755
--- a/.gitlab/ci.sh
+++ b/.gitlab/ci.sh
@@ -578,7 +578,7 @@ function run_hadrian() {
# Before running the compiler, unset variables gitlab env vars as these
# can destabilise the performance test (see #20341)
(unset $(compgen -v | grep CI_*);
- run hadrian/build-cabal \
+ run "${HADRIAN_PATH:-hadrian/build-cabal}" \
--flavour="$BUILD_FLAVOUR" \
-j"$cores" \
--broken-test="${BROKEN_TESTS:-}" \