Matrix configuration

Describe a compatibility matrix

Lesson 8 of 20 · 12 min · Module 3: Dependencies, coverage, and access

A matrix states which supported toolchain combinations need evidence.

Start this lesson →

Free. No installation: you write and run the code in your browser, and it is checked automatically.

By the end, you’ll be able to…

  • Choose supported combinations
  • Connect the matrix value to setup

The idea

A workflow combines an event boundary, job dependencies, and ordered steps. Conditions and prerequisite outcomes determine which jobs can run.

01Choose supported combinations

A matrix should reflect the versions your users or deployment environments support. More combinations increase runtime and investigation cost.

02Connect the matrix value to setup

Declaring node values does not use them until setup-node reads matrix.node. Keep that connection explicit in the workflow.

03Understand the lab boundary

Real Actions expands the job into several runs. This bounded model validates that configuration without pretending to execute different Node installations.

Your turn

Create test with strategy.matrix.node [20,22], runs-on ubuntu-latest, setup-node@v4 with node-version "${{ matrix.node }}", then npm test. The lab checks the matrix configuration and models one job, not multiple real runners.

What the checks look for

  • Declares both supported versions
  • Uses the matrix value for setup
Try it in the editor →

Take this with you

Connect declared compatibility coverage to the toolchain that performs it.

Go a little further

Explain when adding an operating-system dimension would be useful.

Learn CI/CD & Release Engineering for free

20 short lessons with real code and instant checks.

See the whole course →