name: Test
on:
  pull_request:
  schedule:
    - cron: "30 2 * * *"
jobs:
  tests:
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest]
    runs-on: ${{ matrix.os }}
    steps:
    - uses: actions/checkout@v4
    - uses: cachix/install-nix-action@v23
      with:
        nix_path: nixpkgs=channel:nixos-unstable
    - uses: cachix/cachix-action@v12
      with:
        name: nix-community
        authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
    - run: |
        if grep -R --exclude stdlib-extended.nix literalExample modules ; then
          echo "Error: literalExample should be replaced by literalExpression" > /dev/stderr
          exit 1
        fi
    - run: nix-build --show-trace -A docs.jsonModuleMaintainers
    - run: ./format -c
    - run: nix-shell --show-trace . -A install
    - run: nix-shell --show-trace --arg enableBig false --pure tests -A run.all
