haskell / haskell/cabal

modernize and speed up PR CI

Open
#11,080 4 comments 1 reaction 0 assignees Claimed by @geekosaur View on GitHub
continuous-integration type: enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.