- Feb 08, 2023
-
-
Ben Gamari authored
Updates to LLVM 14, hopefully fixing #21964. (cherry picked from commit b2bb3e62)
-
- Feb 01, 2023
-
-
Matthew Pickering authored
* Allow filepath to be reinstalled * Bump some version bounds to allow newer versions of libraries * Rework testing logic to avoid "install --lib" and package env files Fixes #22344 (cherry picked from commit 7cbdaad0)
-
Teach the `configure` script to create the `VERSION` file. This will serve as the stable interface to allow the user to determine the version number of a working tree. Fixes #22322. (cherry picked from commit a2d814dc)
-
- Jan 27, 2023
-
-
Matthew Pickering authored
This adds release jobs for ubuntu18_04 which uses glibc 2.27 which is older than the 2.28 which is used by Rocky8 bindists. Ticket #22268 (cherry picked from commit 0a022207)
-
Matthew Pickering authored
1. A python script in .gitlab/rel_eng/mk-ghcup-metadata which generates suitable metadata for consumption by GHCUp for the relevant pipelines. - The script generates the metadata just as the ghcup maintainers want, without taking into account platform/library combinations. It is updated manually when the mapping changes. - The script downloads the bindists which ghcup wants to distribute, calculates the hash and generates the yaml in the correct structure. - The script is documented in the .gitlab/rel_eng/mk-ghcup-metadata/README.mk file 1a. The script requires us to understand the mapping from platform -> job. To choose the preferred bindist for each platform the .gitlab/gen_ci.hs script is modified to allow outputting a metadata file which answers the question about which job produces the bindist which we want to distribute to users for a specific platform. 2. Pipelines to run on nightly and release jobs to generate metadata - ghcup-metadata-nightly: Generates metadata which points directly to artifacts in the nightly job. - ghcup-metadata-release: Generates metadata suitable for inclusion directly in ghcup by pointing to the downloads folder where the bindist will be uploaded to. 2a. Trigger jobs which test the generated metadata in the downstream `ghccup-ci` repo. See that repo for documentation about what is tested and how but essentially we test in a variety of clean images that ghcup can download and install the bindists we say exist in our metadata. (cherry picked from commit ef4ffd9d)
-
Matthew Pickering authored
This job exists only for the meta-reason of not allowing nightly pipelines to be cancelled. It was taking two minutes to run as in order to run "true" we would also clone the whole GHC repo. (cherry picked from commit e9cfc723)
-
Matthew Pickering authored
It is better to keep these scripts in the tree as they depend on the CI configuration and so on. By keeping them in tree we can keep them up-to-date as the CI config changes and also makes it easier to backport changes to the release script between release branches in future. The final motivation is that it makes generating GHCUp metadata possible. (cherry picked from commit c41aeb30)
-
Matthew Pickering authored
(cherry picked from commit 00981dc9)
-
- Jan 26, 2023
-
-
This fixes errors of the form: ``` fatal: detected dubious ownership in repository at '/builds/ghc/ghc' To add an exception for this directory, call: git config --global --add safe.directory /builds/ghc/ghc inferred 9.7.20230113 checking for GHC Git commit id... fatal: detected dubious ownership in repository at '/builds/ghc/ghc' To add an exception for this directory, call: git config --global --add safe.directory /builds/ghc/ghc ``` (cherry picked from commit 4285ce8a)
-
- Jan 25, 2023
-
-
Cheng Shao authored
- There is one regular wasm job run in validate pipelines - Additionally, int-native/unreg wasm jobs run in nightly/release pipelines Also, remove the legacy handwritten wasm ci jobs in .gitlab-ci.yml. (cherry picked from commit 87194df0)
-
Cheng Shao authored
- Add a ghc environment including prebuilt dependencies to the nix-shell. Get rid of the ad hoc cabal cache and all dependencies are now downloaded from the nixos binary cache. - Make gen_ci.hs a cabal package with HLS integration, to make future hacking of gen_ci.hs easier. - Fix some ghc/hlint warnings after I got HLS to work. - For the lint-ci-config job, do a shallow clone to save a few minutes of unnecessary git checkout time. (cherry picked from commit 93b9bbc1)
-
Cheng Shao authored
(cherry picked from commit 84ae6573)
-
- Jan 06, 2023
-
-
Matthew Pickering authored
In 8f71d958 the make build system was made to use split-sections on linux systems but it appears this logic never made it to hadrian. There is the split_sections flavour transformer but this doesn't appear to be used for perf builds on linux. This is disbled on deb9 and windows due to #21670 Closes #21135 (cherry picked from commit be9dd9b0)
-
- Jan 03, 2023
-
-
Matthew Pickering authored
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. (cherry picked from commit c264b06b)
-
Matthew Pickering authored
The test is not configured to get the correct dependencies for the release pipelines (and indeed stops the release pipeline being run at all) (cherry picked from commit f4850f36)
-
Matthew Pickering authored
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. (cherry picked from commit cbaebfb9)
-
- Dec 10, 2022
-
-
Also updates the bootstrap jobs to test booting 9.2 and 9.4.
-
I am not sure this job is good because it requires booting HEAD with HEAD, but it should be fine.
-
- Dec 09, 2022
-
-
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
-
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
-
- Nov 29, 2022
-
-
Sylvain Henry authored
Add JS backend adapted from the GHCJS project by Luite Stegeman. Some features haven't been ported or implemented yet. Tests for these features have been disabled with an associated gitlab ticket. Bump array submodule Work funded by IOG. Co-authored-by:
Jeffrey Young <jeffrey.young@iohk.io> Co-authored-by:
Luite Stegeman <stegeman@gmail.com> Co-authored-by:
Josh Meredith <joshmeredith2008@gmail.com>
-
- Nov 11, 2022
-
-
- Nov 06, 2022
-
-
Cheng Shao authored
ci-images has recently been updated, including changes needed for wasm32-wasi CI.
-
- Nov 04, 2022
-
- Oct 28, 2022
-
- Sep 06, 2022
-
-
Previously the lint-ci job attempted to use cabal-install (specifically `cabal update`) without a GHC in PATH. However, cabal-install-3.8 appears to want GHC, even for `cabal update`.
-
- Aug 30, 2022
-
-
We do not use any recursively cloned submodules, and this protects us from flaky upstream remotes. Fixes #22121
-
- Aug 26, 2022
-
-
In preparation for removal of the `make`-based build system
-
- Aug 08, 2022
-
-
Here we add a simple qemu-based test for cross-compilers.
-
- Aug 07, 2022
-
-
To give the ARMv7 job access to lld, fixing #21875.
-
- Aug 06, 2022
-
-
Previously we would attempt to test hadrian bootstrapping in the `validate` build flavour. However, `ci.sh` refuses to run validation builds during release pipelines, resulting in job failures. Fix this by testing bootstrapping in the `release` flavour during release pipelines. We also attempted to record perf notes for these builds, which is redundant work and undesirable now since we no longer build in a consistent flavour.
-
- Aug 05, 2022
-
-
The job has been failing because we don't bundle haddock docs anymore in the docs dist created by hadrian. Fixes #21789
-
- Jul 25, 2022
-
- Jul 04, 2022
-
-
- Jun 20, 2022
-
-
We were attempting to boot a src-tarball which doesn't work as ./boot is not included in the source tarball. This slipped through as the job is only run on nightly.
-
- Jun 16, 2022
-
- Jun 02, 2022
-
- Jun 01, 2022
-
-
- May 31, 2022
-
-
These executables (such as hsc2hs) are built using the boot compiler and crucially, most libraries from the global package database. We also move other build-time executables to be built in this stage such as linters which also cleans up which libraries end up in the global package database. This allows us to remove hacks where linters-common is removed from the package database when a bindist is created. This fixes issues caused by infinite recursion due to bytestring adding a dependency on template-haskell. Fixes #21634
-
- May 30, 2022
-
-