kb-remap 0.3.2

Tool to assist remapping macOS keyboard keys
name: build

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest

    env:
      RUSTFLAGS: --deny warnings

    strategy:
      matrix:
        toolchain: [stable, beta, nightly]

    steps:
    - uses: actions/checkout@v3

    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: ${{ matrix.toolchain }}
        components: clippy, rustfmt

    - name: Rustfmt
      run: cargo fmt -- --check

    - name: Clippy
      run: cargo clippy --workspace --all-targets

    - name: Test
      run: cargo test --workspace --all-targets

  publish:
    needs: test
    if: startsWith(github.ref, 'refs/tags/')

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - name: Calculate version from tag
        id: version
        run: echo "value=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT

      - name: Check tag against package version
        run: grep '^version = "${{ steps.version.outputs.value }}"$' Cargo.toml

      - uses: dtolnay/rust-toolchain@stable

      - name: Publish
        env:
          CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
        run: cargo publish