name: quality on: pull_request: branches: [main] push: branches: [main] jobs: changes: runs-on: ubuntu-latest outputs: nix: ${{ steps.changes.outputs.nix }} steps: - uses: actions/checkout@v4 - uses: dorny/paths-filter@v3 id: changes with: filters: | nix: - '**/*.nix' - 'flake.lock' - 'flake.nix' nix-format: name: Nix Format Check runs-on: ubuntu-latest needs: changes if: ${{ needs.changes.outputs.nix == 'true' }} steps: - uses: actions/checkout@v4 - uses: cachix/install-nix-action@v31 - run: nix fmt -- --ci deadnix: name: Deadnix Check runs-on: ubuntu-latest needs: changes if: ${{ needs.changes.outputs.nix == 'true' }} steps: - uses: actions/checkout@v4 - uses: cachix/install-nix-action@v31 - run: nix develop --command deadnix --fail . statix: name: Statix Check runs-on: ubuntu-latest needs: changes if: ${{ needs.changes.outputs.nix == 'true' }} steps: - uses: actions/checkout@v4 - uses: cachix/install-nix-action@v31 - run: nix develop --command statix check .