# SPDX-FileCopyrightText: 2025 Ryan Cao # # SPDX-License-Identifier: Apache-2.0 name: Check on: push: branches: ["main"] pull_request: branches: ["main"] permissions: contents: read jobs: collect: runs-on: ubuntu-latest outputs: checks: ${{ steps.checks.outputs.checks }} steps: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # ratchet:actions/checkout@v6 with: persist-credentials: false - name: Install Nix run: .github/workflows/install-nix.sh env: GITHUB_TOKEN: ${{ github.token }} - name: Collect checks id: checks run: | echo "checks=$(nix eval --impure --json --expr 'builtins.attrNames (builtins.getFlake (toString ./.)).checks.${builtins.currentSystem}')" | tee "$GITHUB_OUTPUT" check: needs: collect strategy: matrix: check: ${{ fromJson(needs.collect.outputs.checks) }} fail-fast: false runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # ratchet:actions/checkout@v6 with: persist-credentials: false - name: Install Nix run: .github/workflows/install-nix.sh env: GITHUB_TOKEN: ${{ github.token }} - name: Check run: nix build --fallback --print-build-logs '.#checks.x86_64-linux.${{ matrix.check }}'