on:
  push:
    branches:
      - next
jobs:
  test:
    runs-on: docker
    strategy:
      matrix:
        toolchain:
          - name: stable
          - name: nightly
          - name: v1.81.0

    steps:
      - uses: actions/checkout@v4

      - name: Machete
        uses: https://git.kemitix.net/kemitix/rust@v2.5.1
        with:
          args: cargo machete

      - name: Format
        uses: https://git.kemitix.net/kemitix/rust@v2.5.1
        with:
          args: ${{ matrix.toolchain.name }} cargo fmt --check

      - name: Clippy
        uses: https://git.kemitix.net/kemitix/rust@v2.5.1
        with:
          args: ${{ matrix.toolchain.name }} cargo clippy

      - name: Test
        uses: https://git.kemitix.net/kemitix/rust@v2.5.1
        with:
          args: ${{ matrix.toolchain.name }} cargo test

      - name: Build
        uses: https://git.kemitix.net/kemitix/rust@v2.5.1
        with:
          args: ${{ matrix.toolchain.name }} cargo build

      - name: Run
        uses: https://git.kemitix.net/kemitix/rust@v2.5.1
        with:
          args: ${{ matrix.toolchain.name }} cargo run