Skip to content

Dynamic matrix

Dynamic matrix #19

Workflow file for this run

name: CI
on: push
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
pre-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v22
- run: echo "package=$(./foo)" >> "$GITHUB_OUTPUT"
id: foo
outputs:
package: ${{ steps.foo.ouputs.package }}
build:
strategy:
matrix:
runner:
- os: macos-latest
system: x86_64-darwin
- os: ubuntu-latest
system: x86_64-linux
package: ${{ needs.pre-build.outputs.package }}
runs-on: ${{ matrix.runner.os }}
needs: [pre-build]
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v22
- uses: cachix/cachix-action@v12
with:
name: nixpkgs-terraform
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
- run: echo "out-paths=$(nix build --impure .#${{ matrix.package.name }} --print-out-paths)" >> "$GITHUB_OUTPUT"
id: nix-build
env:
NIXPKGS_ALLOW_UNFREE: ${{ matrix.package.allow_unfree }}
# - run: cachix pin nixpkgs-terraform v${{ matrix.package.version }}-${{ matrix.runner.system }} ${{ steps.nix-build.outputs.out-paths }} --keep-revisions 1