projector 1.1.0

A code repository manager.
name: ci

on: [push, pull_request]

jobs:
  test:
    name: test
    env:
      # Emit backtraces on panics.
      RUST_BACKTRACE: 1
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        build:
          # Test on stable and beta rust compilers.
          - stable
          - beta
        include:
          - build: macos
            os: macos-latest
            rust: stable
          - build: stable
            os: ubuntu-latest
            rust: stable
          - build: beta
            os: ubuntu-latest
            rust: beta
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3

      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ matrix.rust }}

      - name: Build projector
        run: cargo build --verbose ${{ env.TARGET_FLAGS }}

      - name: Run cargo tests
        run: cargo test

  clippy:
    name: clippy
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: stable
          components: clippy
      - name: Lint
        run: cargo clippy --no-deps --all-targets

  rustfmt:
    name: rustfmt
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3
      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: stable
          components: rustfmt
      - name: Check formatting
        run: cargo fmt --all --check