Skip to content

.github: fix outdated dependencies and prevent disk filling up by splitting attributes across multiple jobs#26

Merged
maralorn merged 4 commits intomasterfrom
ci
Jan 2, 2025
Merged

.github: fix outdated dependencies and prevent disk filling up by splitting attributes across multiple jobs#26
maralorn merged 4 commits intomasterfrom
ci

Conversation

@sternenseemann
Copy link
Member

No description provided.

@sternenseemann sternenseemann force-pushed the ci branch 4 times, most recently from f39ea4b to 0b73e95 Compare December 24, 2024 13:30
@sternenseemann sternenseemann changed the title .github/workflows: bump dependencies .github: fix outdated dependencies and prevent disk filling up by splitting attributes across multiple jobs Dec 24, 2024
@sternenseemann sternenseemann marked this pull request as ready for review December 24, 2024 13:31
@sternenseemann
Copy link
Member Author

ghcHEAD failure is solved by #25.

ci.nix Outdated
{ mkDerivation, base, Cabal, Cabal-syntax, lib }:
mkDerivation {
pname = "jailbreak-cabal";
version = "1.4";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the plan to keep this version field updated. Otherwise we might want to set it to something different.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, changed it to unstable-unknown

The expression doesn't differ between GHC versions (and shouldn't in the
future for ease of maintenance in nixpkgs), so we can just check it in
statically. The benefit of this is that CI doesn't depend on cabal2nix
working for all tested GHC versions.
The runners don't have enough disk space to download all GHC versions we
are testing.

The solution is to run an initial job that writes a JSON list of all
attributes that ci.nix exposes to a GHA output. This can then be re-used
in a matrix to create one job per attribute of ci.nix. This means that
the targets built in parallel on independent runners which should reduce
CI time overall and solves the disk space problem. Only downside seems
to be that we need to wait on the Nix installer twice.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants