comtains 0.1.1

Zero-allocation byte-set matcher generated at compile time
Documentation
name: Publish Crate

on:
  release:
    types: [published]
  workflow_dispatch:

jobs:
  verify:
    name: Verify Release
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy,rustfmt

      - name: Verify formatting
        run: cargo fmt --all -- --check

      - name: Clippy
        run: cargo clippy --workspace --all-targets --locked -- -D warnings
      
      - name: Tests
        run: cargo test --workspace --locked
        
      - name: Package comtains_macros
        run: cargo package --locked -p comtains_macros

      - name: Package comtains
        run: cargo package --locked

      - name: Ensure clean workspace
        run: git diff --stat --exit-code

  publish:
    name: Publish to crates.io
    runs-on: ubuntu-latest
    needs: verify
    environment: crates-io
    steps:
      - uses: actions/checkout@v4

      - uses: dtolnay/rust-toolchain@stable

      - name: Publish comtains_macros
        run: cargo publish --locked -p comtains_macros
        env:
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

      - name: Wait for index update
        run: sleep 45

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