on:
  push:
jobs:
  check:
    runs-on: nixos
    strategy:
      matrix:
        check:
          - nvimDev
          - nvimHeadless
          - nvimNoBundledBins
          - nvimNoLsp
          - nvimNoTSGrammars
          - treefmt
    steps:
      - uses: "https://git.salame.cl/actions/checkout@v4"
      - name: Run checks
        run: |
          nix --version
          # shellcheck disable=SC2016
          nix build --print-build-logs '.#checks.x86_64-linux.${{ matrix.check }}'
  build:
    runs-on: nixos
    needs: check
    strategy:
      matrix:
        target:
          - audiomenu
          - docs
          - jpassmenu
          - nixosConfigurations.vm.config.system.build.toplevel
          - nvim
    steps:
      - uses: "https://git.salame.cl/actions/checkout@v4"
      - name: Build target
        run: |
          nix --version
          # shellcheck disable=SC2016
          nix build --print-build-logs '.#${{ matrix.target }}'
  report-size:
    runs-on: nixos
    needs: build
    steps:
      - uses: "https://git.salame.cl/actions/checkout@v4"
      - run: nix --version
      - name: Create Size Report
        uses: https://git.salame.cl/jalil/nix-flake-outputs-size@main
        with:
          # Create a comment on the associated PR
          comment-on-pr: ${{ github.ref_name != 'main' }}
          # Generate artifacts on main (to speed up comparisons)
          generate-artifact: ${{ github.ref_name == 'main' }}
          # Generate comparisons to main
          do-comparison: 'true'
          # This job's name (so we can find the artifacts)
          job-name: report-size