name: ci
on:
  pull_request:
  push:
    branches:
    - main
jobs:
  test:
    name: test
    env:
      # Emit backtraces on panics.
      RUST_BACKTRACE: 1
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - macos-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v4

    - name: Build project (debug mode)
      shell: bash
      run: cargo build

    - name: Run tests
      shell: bash
      run: cargo test

  rustfmt:
    name: rustfmt
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v4
    - name: Check formatting
      run: |
        cargo fmt --all -- --check

  docs:
    name: Docs
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Check documentation
        # env:
        #   RUSTDOCFLAGS: -D warnings
        run: |
          cargo doc --no-deps
