name: Diff Nix Flake on: pull_request: permissions: contents: read pull-requests: write actions: read jobs: diff: name: ${{ matrix.host }} (${{ matrix.system }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - os: ubuntu-latest system: x86_64-linux target_attr: nixosConfigurations host: earthy - os: ubuntu-24.04-arm system: aarch64-linux target_attr: nixosConfigurations host: anemone - os: ubuntu-latest system: x86_64-linux target_attr: nixosConfigurations host: lily - os: ubuntu-latest system: x86_64-linux target_attr: nixosConfigurations host: zinnia - os: macos-latest system: aarch64-darwin target_attr: darwinConfigurations host: starling steps: - name: Checkout uses: actions/checkout@v6 with: persist-credentials: false - name: Install Nix uses: cachix/install-nix-action@v31 with: github_access_token: ${{ secrets.GITHUB_TOKEN }} - uses: DeterminateSystems/magic-nix-cache-action@v14 - name: Generate Nix Diff uses: 42willow/nix-diff-action@main with: mode: diff-only attributes: | - displayName: "${{ matrix.host }} (${{ matrix.system }})" attribute: "${{ matrix.target_attr }}.${{ matrix.host }}.config.system.build.toplevel" comment: name: Post Comment needs: diff if: github.event_name == 'pull_request' runs-on: ubuntu-latest steps: - name: Aggregate and Post Diffs uses: 42willow/nix-diff-action@main with: mode: comment-only github-token: ${{ secrets.GITHUB_TOKEN }}