ticit 0.2.2

Fast simulation of near-Clifford quantum circuits.
Documentation
name: PyPI
run-name: PyPI ${{ github.ref_name }}

on:
  push:
    tags: ["v*"]
  workflow_dispatch:

permissions:
  contents: read

jobs:
  wheel:
    name: Wheel (${{ matrix.os }})
    runs-on: ${{ matrix.os }}
    timeout-minutes: 45
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    steps:
      - uses: actions/checkout@v7
      - uses: PyO3/maturin-action@v1
        with:
          command: build
          args: --release --manifest-path ticit_py/Cargo.toml --out dist
      - uses: actions/upload-artifact@v7
        with:
          name: wheel-${{ matrix.os }}
          path: dist/

  sdist:
    name: Source distribution
    runs-on: ubuntu-latest
    timeout-minutes: 15
    steps:
      - uses: actions/checkout@v7
      - uses: dtolnay/rust-toolchain@stable
      - uses: astral-sh/setup-uv@v9.0.0
        with:
          enable-cache: false
      - run: uv build ticit_py --sdist --out-dir dist
      - uses: actions/upload-artifact@v7
        with:
          name: sdist
          path: dist/

  publish:
    name: Publish to PyPI
    if: startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch'
    needs: [wheel, sdist]
    runs-on: ubuntu-latest
    timeout-minutes: 15
    environment: pypi
    permissions:
      id-token: write
    steps:
      - uses: actions/download-artifact@v8
        with:
          path: dist
          merge-multiple: true
      - uses: astral-sh/setup-uv@v9.0.0
        with:
          enable-cache: false
      - run: uv publish dist/*