ci/bindings: create a platform matrix in the flake #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Purpose: We want to build the o1js bindings in CI so that people in the | |
# community can change them without being scared of breaking things, or | |
# needing to do the complicated (without nix) build setup. | |
name: Build o1js bindings | |
on: | |
pull_request: | |
push: | |
jobs: | |
nix-matrix: | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.set-matrix.outputs.matrix }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v30 | |
- id: set-matrix | |
name: Generate Nix Matrix | |
run: | | |
set -Eeu | |
matrix="$(nix eval --json '.#githubActions.matrix')" | |
echo "matrix=$matrix" >> "$GITHUB_OUTPUT" | |
nix-build: | |
name: ${{ matrix.name }} (${{ matrix.system }}) | |
needs: nix-matrix | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: ${{fromJSON(needs.nix-matrix.outputs.matrix)}} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v30\ | |
- run: | | |
set -Eeu | |
./pin.sh | |
nix develop o1js --command bash --command "npm run build:bindings && npm run build:update-bindings" |