Github actions parallel test matrix
Skill kjuhwa/skills-hub/skills/ci/github-actions-parallel-test-matrix
GitHub Actions workflow uses a strategy.matrix over OS × toolchain to run all tests in parallel, with continue-on-error for nightly so unstable toolchains don't block merges.From its SKILL.md
npx -y skills add kjuhwa/skills-hub --skill github-actions-parallel-test-matrixAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
1.8 KB, 302 tokens by cl100k_base, as published. Nobody here has run it
Github Actions Parallel Test Matrix
Trigger: Multi-language project that must validate on Linux + macOS + Windows × stable + nightly without serial CI.
Steps
- Define strategy.matrix with axes: os = [ubuntu-latest, macos-latest, windows-latest], toolchain = [stable, nightly].
- Each matrix cell runs the full suite; GitHub spawns them in parallel.
- Set continue-on-error: true for nightly so experimental compiler regressions don't block PRs.
- Cache language-specific dirs (Cargo registry, pip wheels, node_modules) keyed by lockfile hash.
- Name jobs descriptively (test (ubuntu / stable)) so matrix failures are easy to read.
- Aggregate: require stable cells to pass; let nightly be informational only.
Counter / Caveats
- Matrix explosion (3 OS × N toolchains) burns CI minutes — macOS and Windows are ~10x more expensive on free tier.
- Flaky tests can fail on one cell and pass on another; quarantine flaky ones rather than rerunning blindly.
- Setup time often dominates short test suites; cache aggressively.
- 5GB artifact cap on free tier means you must clean up after large workflows.
Source
Extracted from magika (https://github.com/google/magika.git @ main).
Files of interest:
.github/workflows/rust-test.yml:1-60.github/workflows/python-build-and-release-package.yml:74-120
What ships with it: 1 file
955 B alongside SKILL.md
- content.md955 B