mix nbpr.matrix (NBPR v0.2.1)

Copy Markdown View Source

Generates the prebuild matrix for CI: every combination of an nbpr_* package under packages/ with a target system declared in the workspace mix.exs @prebuild_systems map.

mix nbpr.matrix [--json] [--root <path>]

Output

Without flags: human-readable lines, one per matrix entry.

With --json: a single line of GitHub Actions matrix JSON, ready to feed into a job's strategy.matrix via dynamic-matrix:

jobs:
  generate:
    outputs:
      matrix: ${{ steps.gen.outputs.matrix }}
    steps:
      - id: gen
        run: echo "matrix=$(mix nbpr.matrix --json)" >> "$GITHUB_OUTPUT"

  build:
    needs: generate
    strategy:
      matrix: ${{ fromJson(needs.generate.outputs.matrix) }}
    steps:
      - run: MIX_TARGET=${{ matrix.target }} mix nbpr.build ${{ matrix.module }} -o out/

Flags

  • --json — emit {"include": [...]} JSON suitable for GHA dynamic matrix
  • --root <path> — workspace root (defaults to current directory). Useful when running this task from a script that doesn't cd first.