on:
  push:
    branches:
      - next
jobs:
  test:
    runs-on: docker
    container:
      image:
        git.kemitix.net/kemitix/rust:latest
    strategy:
      matrix:
        toolchain:
          - name: stable
          - name: nightly

    steps:
      - uses: actions/checkout@v4

      - name: Ignored Files
        run: check-for-ignored
        # run: |
        #   IGNORED=$(git ls-files --cached -i --exclude-standard)
        #   if [ -n "$IGNORED" ]
        #   then
        #     echo "Ignored files present:\n$IGNORED"
        #     exit 1
        #   fi

      - name: Machete
        run: cargo machete

      - name: Format
        run: cargo +${{ matrix.toolchain.name }} fmt --check

      - name: Clippy
        run: cargo +${{ matrix.toolchain.name }} clippy

      - name: Test
        run: cargo +${{ matrix.toolchain.name }} test

      - name: Build
        run: cargo +${{ matrix.toolchain.name }} build

      - name: Run
        run: cargo +${{ matrix.toolchain.name }} run