on: [push]
jobs:
  check-renovaterc:
    runs-on: nixos
    steps:
      - uses: https://git.salame.cl/actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
      - name: Validate renovaterc
        run: |
          nix --version
          nix shell nixpkgs#renovate --command renovate-config-validator
  build:
    runs-on: nixos
    steps:
      - uses: https://git.salame.cl/actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
      - name: Build Package
        run: |
          nix --version
          nix build --print-build-logs .#
  test:
    needs: build # we use the built binaries in the checks
    runs-on: nixos
    steps:
      - uses: https://git.salame.cl/actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
      - name: Run tests
        run: |
          nix --version
          nix-fast-build --max-jobs 2 --no-nom --skip-cached --no-link \
            --flake ".#checks.$(nix eval --raw --impure --expr builtins.currentSystem)"
  report-size:
    runs-on: nixos
    needs: build
    steps:
      - uses: https://git.salame.cl/actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
      - run: nix --version
      - name: Generate size report
        uses: "https://git.salame.cl/jalil/nix-flake-outputs-size@5c40a31e3e2ed0ea28f8ba68deca41d05fdf2e71" # main
        with:
          comment-on-pr: ${{ github.ref_name != 'main' }}
          generate-artifact: ${{ github.ref_name == 'main' }}
          do-comparison: true
          job-name: report-size