name: release

on:
  release:
    types: [published]

jobs:
  release:
    name: release ${{ github.event.ref }}
    # unable to use environment with uses/with, basically cannot reuse release pipelines
    environment: release
    runs-on: ubuntu-24.04
    permissions:
      id-token: write

    env:
      FORCE_COLOR: 1
      PY_COLORS: 1
      TOX_PARALLEL_NO_SPINNER: 1

    steps:
      - name: Switch to using Python 3.12 by default
        uses: actions/setup-python@v6
        with:
          python-version: "3.14"
      - name: Install tox
        run: python3 -m pip install --user "tox>=4.0.0"
      - name: Check out src from Git
        uses: actions/checkout@v6
        with:
          fetch-depth: 0 # needed by setuptools-scm
      - name: Build dists
        run: python3 -m tox -e pkg
      - name: Publish to pypi.org
        uses: pypa/gh-action-pypi-publish@unstable/v1
