minimage 0.1.4

Minimum-image convention for periodic parallelepiped cells
Documentation
name: wheels

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

permissions:
  contents: read

jobs:
  dist:
    name: sdist and linux wheel
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
        with:
          python-version: "3.12"
      - name: Build sdist and wheel
        run: |
          uvx maturin sdist --out dist
          uvx maturin build --release --out dist
      - uses: actions/upload-artifact@v4
        with:
          name: dist
          path: dist/*

  # Trusted publisher: PyPI project minimage, repo lode-org/minimage,
  # workflow wheels.yml. The first upload needs that publisher registered.
  publish:
    name: Publish to PyPI
    needs: dist
    runs-on: ubuntu-latest
    if: >-
      github.repository == 'lode-org/minimage' &&
      startsWith(github.ref, 'refs/tags/v')
    permissions:
      id-token: write
      contents: read
    steps:
      - uses: actions/download-artifact@v4
        with:
          name: dist
          path: dist
      - name: Publish to PyPI
        uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e
        with:
          packages-dir: dist/