micattix 0.2.0

A Rust library for the Mattix board game, named after mica's perfect cleavage property
Documentation
name: Release and Publish

on:
  release:
    types:
      - published

jobs:
  publish-crate:
    name: Publish to crates.io
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - name: Check version
        id: check_version
        run: |
          CARGO_VERSION=$(grep '^version = ' Cargo.toml | sed 's/version = "\(.*\)"/\1/')
          TAG_VERSION="${GITHUB_REF#refs/tags/v}"
          echo "CARGO_VERSION=${CARGO_VERSION}" >> $GITHUB_OUTPUT
          echo "TAG_VERSION=${TAG_VERSION}" >> $GITHUB_OUTPUT
          if [ "$CARGO_VERSION" != "$TAG_VERSION" ]; then
            echo "::error::Version mismatch: Cargo.toml version ($CARGO_VERSION) does not match tag version ($TAG_VERSION)"
            exit 1
          fi
      - name: Cargo login
        run: cargo login ${{ secrets.CRATES_TOKEN }}
      - name: Cargo package
        run: cargo package --allow-dirty
      - name: Cargo publish
        run: cargo publish --allow-dirty