summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
Commit message (Collapse)AuthorAgeFilesLines
* ci: Nightly, run one head.hackage job with core-lint and one withoutMatthew Pickering2022-01-111-5/+18
| | | | | | | This fixes serious skew in the performance numbers because the packages were build with core-lint. Fixes #20826
* ci: test bootstrapping and use hadrian for source distsZubin Duggal2022-01-111-12/+31
|
* gitlab-ci: Bump fedora jobs to use Fedora 33Ben Gamari2021-12-121-14/+14
| | | | | | | Annoyingly, this will require downstream changes in head.hackage, which depends upon the artifact produced by this job. Prompted by !6462.
* gitlab-ci: Introduce no_tntc jobBen Gamari2021-12-011-0/+8
| | | | A manual job for testing the non-tables-next-to-code configuration.
* gitlab-ci: Add release jobs for Darwin targetsBen Gamari2021-11-251-13/+30
| | | | | | | | | As noted in #20707, the validate jobs which we previously used lacked profiling support. Also clean up some variable definitions. Fixes #20707.
* gitlab-ci: Bump DOCKER_REVBen Gamari2021-11-231-1/+1
|
* gitlab-ci: Bump MACOSX_DEPLOYMENT_TARGETBen Gamari2021-11-181-4/+2
| | | | | | | It appears that Darwin's toolchain includes system headers in the dependency makefiles it generates with `-M` with older `MACOSX_DEPLOYMENT_TARGETS`. To avoid this we have bumped the deployment target for x86-64/Darwin to 10.10.
* gitlab-ci/darwin: Move SDK path discovery into toolchain.nixBen Gamari2021-11-161-9/+0
| | | | | Reduce a bit of duplication and a manual step when running builds manually.
* gitlab-ci: Refactor toolchain provisionBen Gamari2021-11-161-8/+2
| | | | | This makes it easier to invoke ci.sh on Darwin by teaching it to manage the nix business.
* Fix itBen Gamari2021-11-121-0/+1
|
* Fix itBen Gamari2021-11-121-3/+0
|
* Fix itBen Gamari2021-11-121-1/+2
|
* Fix itBen Gamari2021-11-121-18/+2
|
* Fix itBen Gamari2021-11-121-1/+3
|
* gitlab-ci: Allow draft MRs to fail linting jobsBen Gamari2021-11-121-1/+21
| | | Addresses #20623 by allowing draft MRs to fail linting jobs.
* CI: allow perf-nofib to failSylvain Henry2021-11-061-2/+4
|
* ci: Don't run alpine job in fast-ciMatthew Pickering2021-11-041-0/+2
|
* hadrian: Turn the `static` flavour into a transformerBen Gamari2021-10-271-3/+3
| | | | | This turns the `static` flavour into the `+fully_static` flavour transformer.
* ci: Move hlint jobs from quick-built into full-buildMatthew Pickering2021-10-201-1/+1
| | | | | | | | | This somewhat fixes the annoyance of not getting any "useful" feedback from a CI pipeline if you have a hlint failure. Now the hlint job runs in parallel with the other CI jobs so the feedback is recieved at the same time as other testsuite results. Fixes #20507
* Fix perf-nofib CI jobMatthew Pickering2021-10-201-8/+8
| | | | | | | | The main change is to install the necessary build dependencies into an environment file using `caball install --lib`. Also updates the nofib submodule with a few fixes needed for the job to work.
* ci: build validate-x86_64-linux-deb9-debug with hyperlinked source (#20067)Zubin Duggal2021-10-131-0/+1
|
* gitlab-ci: Bump docker imagesBen Gamari2021-10-121-2/+1
| | | | Bumps bootstrap compiler to GHC 9.0.1.
* gitlab-ci: Mark more broken tests on AlpineBen Gamari2021-10-121-3/+5
|
* gitlab-ci: Introduce static Alpine jobBen Gamari2021-10-121-0/+7
|
* ci: Expect x86-darwin to passMatthew Pickering2021-10-081-3/+0
| | | | Closes #20013
* ci: Remove BROKEN_TESTS for x86 darwin buildsMatthew Pickering2021-10-081-2/+0
| | | | | The tests Capi_Ctype_001 Capi_Ctype_002 T12010 pass regularly on CI so let's mark them unbroken and hopefully then we can fix #20013.
* gitlab-ci: Bump docker imagesBen Gamari2021-10-021-1/+1
| | | | To install libncurses-dev on Debian targets.
* ci: Add version to cache keyBen Gamari2021-09-231-20/+21
|
* ci: More surgical use of nix in Darwin buildsBen Gamari2021-09-231-65/+31
|
* ci: Move phase timing logic into ci.shBen Gamari2021-09-231-95/+25
|
* ci: Isolate build from HOMEBen Gamari2021-09-231-0/+3
|
* ci: Consolidate handling of cabal cacheBen Gamari2021-09-231-9/+8
| | | | | | Previously the cache persistence was implemented as various ad-hoc `cp` commands at the end of the individual CI scripts. Here we move all of this logic into `ci.sh`.
* ci: Drop redundant `cabal update`sBen Gamari2021-09-231-3/+0
| | | | `cabal update` is already implied by `ci.sh setup`.
* Add "fast-ci" label, for skipping most builds (#19280)Krzysztof Gogolewski2021-08-031-0/+20
| | | | | | | If "fast-ci" is present, only the following parts of full-build are run: - validate-x86_64-linux-deb9-debug - validate-x86_64-windows-hadrian - validate-x86_64-linux-deb9-unreg-hadrian
* [CI] absolutely no caching on darwinMoritz Angermann2021-07-251-14/+16
| | | | | | | We failed at doing caching properly, so for now we won't do any caching at all. This is not safe in a concurrent setting, however all our darwin builders run with concurrency 1, and -j8, on 8 core m1 mac minis.
* ci: Copy the cache from inside the nix-shell where $HOME is different on darwinMatthew Pickering2021-07-101-6/+8
| | | | | | Hopefully fixes the flaky CI failures we have seen recently. Co-authored-by: Moritz Angerman <moritz.angermann@gmail.com>
* Move aarch64-linux-llvm to nightlyMoritz Angermann2021-07-021-0/+1
| | | | | | This job takes by far the longest time on its own, we now have a NCG. Once we have fast aarch64 machines, we can consider putting this one back.
* Revert "Move validate-x86_64-linux-deb9-hadrian back to quick-build"Moritz Angermann2021-07-021-1/+1
| | | | This reverts commit a0622459f1d9a7068e81b8a707ffc63e153444f8.
* [ci] Separate llvm and NCG test metrics for aarch64-linuxMoritz Angermann2021-07-011-0/+3
|
* [ci] don't allow aarch64-linux (ncg) to failMoritz Angermann2021-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | by accepting the current state of metrics (and the NCG is new, so this seems prudent to do), we can require aarch64-linux (ncg) to build without permitting failure. Metric Increase: T13035 T13719 T14697 T1969 T9203 T9872a T9872b T9872c T9872d T9961 WWRec haddock.Cabal haddock.base parsing001
* ci: Don't allow aarch64-darwin to failMatthew Pickering2021-06-291-3/+0
| | | | Part way to #20013
* ci: Don't allow the nightly pipeline to be interrupted.Douglas Wilson2021-06-231-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 58cfcc65 the default for jobs has been "interruptible", this means that when new commits are pushed to a branch which already has a running pipeline then the old pipelines for this branch are cancelled. This includes the master branch, and in particular, new commits merged to the master branch will cancel the nightly job. The semantics of pipeline cancelling are actually a bit more complicated though. The interruptible flag is *per job*, but once a pipeline has run *any* non-interruptible job, then the whole pipeline is considered non-interruptible (ref https://gitlab.com/gitlab-org/gitlab/-/issues/32837). This leads to the hack in this MR where by default all jobs are `interruptible: True`, but for pipelines we definitely want to run, there is a dummy job which happens first, which is `interreuptible: False`. This has the effect of dirtying the whole pipeline and preventing another push to master from cancelling it. For now, this patch solves the immediate problem of making sure nightly jobs are not cancelled. In the future, we may want to enable this job also for the master branch, making that change might mean we need more CI capacity than currently available. [skip ci] Ticket: #19554 Co-authored-by: Matthew Pickering <matthewtpickering@gmail.com>
* CI: Don't set EXTRA_HC_OPTS in head.hackage jobMatthew Pickering2021-06-221-1/+3
| | | | | | | | Upstream environment variables take precedance over downstream variables. It is more consistent (and easier to modify) if the variables are all set in the head.hackage CI file rather than setting this here. [skip ci]
* Darwin CI: Don't explicitly pass ncurses/iconv pathsMatthew Pickering2021-06-201-2/+2
| | | | | | | | | | Passing --with-ncurses-libraries means the path which gets backed in progagate into the built binaries. This is incorrect when we want to distribute the binaries because the user might not have the library in that specific place. It's the user's reponsibility to direct the dynamic linker to the right place. Fixes #19968
* CI: Keep the value of PERF_NOTE_KEY in darwin environmentsMatthew Pickering2021-06-191-0/+1
| | | | This fixes the performance test tracking for all darwin environments.
* Move validate-x86_64-linux-deb9-hadrian back to quick-buildwip/t20003Matthew Pickering2021-06-171-1/+1
| | | | | | | | | This increases the critical path length but in practice will reduce pressure on runners because less jobs overall will be spawned. See #20003 [skip ci]
* gitlab-ci: Bump ci-imagesBen Gamari2021-06-161-1/+1
|
* [ci] force CC=clang for aarch64-linuxMoritz Angermann2021-06-051-0/+1
|
* [ci] no docs for aarch64-linux-llvmMoritz Angermann2021-06-051-0/+7
|
* [ci] -llvm with --way=llvmMoritz Angermann2021-06-051-0/+2
|