11.stylix/docs
Daniel Thwaites 20117a58eb
ci: run all builds in a single job (#1069)
This works around GitHub's limit on the number of matrix jobs (fixes
#947), by running all builds in a single job. To maintain some speed, we
use `nix-fast-build`, which uses multiple cores for evaluation, and skips
any builds for which the final derivation is already in a binary cache.

Although this makes the run for an individual pull request slower, the
amount of duplicated work is greatly reduced: previously, we often had
100 machines building the same derivation in parallel. This means that
more runners are available should there be multiple pull requests opened
in a short space of time, so there is less queuing. It's also more
energy efficient.

A potential downside is that the logs are all merged together, so it can
be hard to find what failed when lots of outputs were built.
`nix-fast-build` does report a list of failed attributes at the end of
the log, but this is currently broken:
https://github.com/Mic92/nix-fast-build/pull/98

The script used to launch `nix-fast-build` is also added to the
developer shell for local use. This replaces the old `nix-flake-check`
package (closes #898).

I also saw the opportunity to enable checks on `aarch64-linux` and
`aarch64-darwin` - as these are available as GitHub hosted runners.
2025-03-30 12:26:07 +01:00
..
src ci: run all builds in a single job (#1069) 2025-03-30 12:26:07 +01:00
book.toml doc: split modules into separate pages (#873) 2025-02-23 15:50:41 +00:00
default.nix doc: reduce overuse of alerts (#1041) 2025-03-23 13:25:15 +00:00
settings.nix stylix: simplify dummy values (#959) 2025-03-07 21:00:49 +00:00