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@v2
    - uses: cachix/install-nix-action@v16
      with:
        nix_path: nixpkgs=channel:nixos-unstable
    - uses: cachix/cachix-action@v10
      with:
        name: nix-community
        signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
    - 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 -A docs.jsonModuleMaintainers
    - run: ./format -c
    - run: nix-shell . -A install
    - run: nix-shell --arg enableBig false --pure tests -A run.all