From 85473a098ea60fac1633c179397c640889ce58ea Mon Sep 17 00:00:00 2001 From: Zubin Duggal Date: Mon, 13 Dec 2021 18:04:41 +0530 Subject: ci: test bootstrapping and use hadrian for source dists --- .gitlab-ci.yml | 43 +++++++++++++++++++++++++++++++------------ .gitlab/ci.sh | 2 +- 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:-}" \ -- cgit v1.2.1