Expand description
cargo xtask ci matrix — emit GitHub Actions dynamic matrix JSON.
Scans the workspace Cargo.toml files for feature flags and writes two
outputs to $GITHUB_OUTPUT:
matrix— feature × OS entries (for theclippyjob)test-matrix— feature entries for ubuntu test jobs
matrix={"include":[{"label":"default","features":"","os":"ubuntu-latest"},…]}
test-matrix={"include":[{"label":"default","features":"","os":"ubuntu-latest"},…]}§Usage in a workflow
generate-matrix:
outputs:
matrix: ${{ steps.matrix.outputs.matrix }}
test-matrix: ${{ steps.matrix.outputs.test-matrix }}
steps:
- id: matrix
run: cargo xtask ci matrix
clippy:
needs: generate-matrix
strategy:
matrix:
include: ${{ fromJson(needs.generate-matrix.outputs.matrix).include }}
test:
needs: generate-matrix
strategy:
matrix:
include: ${{ fromJson(needs.generate-matrix.outputs.test-matrix).include }}Functions§
- run
- Generates the feature matrix and writes both outputs to
$GITHUB_OUTPUT. - write_
github_ 🔒output