modernize and speed up PR CI
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
I am creating this issue per our policy that major PRs have matching issues for discussion.
The issues I intend to address are:
* there is too much duplication in our infrastructure, including multiple duplications in `validate.yml` and "magic numbers" scattered throughout CI and the `Makefile`
* PR CI is far too slow (going on 3 hours in at least some cases)
#10503 is the PR that addresses these. It abstracts a number of things into reusable [GitHub composite actions](https://docs.github.com/en/actions), some of which are not reused now but will be when I add validation for FreeBSD, Alpine (@hasufell recently discovered problems with both of these), and re-add validation for Intel Macs (which worry me given the former). It also uses the actions to split up validation more finely, allowing more things to run in parallel so jobs finish within an hour instead of up to 3.
Contributor guide
Research direction
Start by reading the linked pull request #10503, then inspect the duplicated infrastructure in validate.yml and the magic numbers in the Makefile. Compare the proposed reusable GitHub composite actions and parallel validation jobs with the current CI setup; done means the duplication is reduced and PR validation completes within the stated target.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- ci-cd, devops
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100