Skip to content
compiler.dev

GitHub Actions matrix expander

Define your matrix axes, include and exclude entries and see exactly which jobs GitHub will create, how many there are and what that costs in minutes.

Jobs
9
limit is 256
Runner minutes per run
72
Axes
2
#osnodecoverageexperimental
1ubuntu-latest18
2ubuntu-latest20
3ubuntu-latest22true
4windows-latest18
5windows-latest20
6windows-latest22
7macos-latest20
8macos-latest22
9ubuntu-latest23true

Everything runs in your browser; nothing you type is sent anywhere.

How to use it

  1. List one axis per line as name: value, value, value.
  2. Add include entries (one per line, key=value pairs separated by commas) to add jobs or extra variables, and exclude entries to remove combinations.
  3. Check the job table and count. Add minutes per job to estimate total runner time.

Frequently asked questions

How many jobs can a matrix create?

GitHub allows up to 256 jobs from a single matrix per workflow run. Beyond that the workflow fails validation.

How does include work?

An include entry that matches an existing combination on the original axes adds its extra keys to that combination. If it matches none, it becomes a new job. Included values never overwrite the original axis values.

How does exclude work?

It removes every combination that matches all the keys you list, so a partial entry like os=windows removes all Windows jobs.

Does the matrix multiply my CI bill?

Yes. Every combination is its own job, each billed per minute, so 12 combinations at 8 minutes is 96 runner minutes per run.