Skip to content

chore(py): release tket-py 0.12.3 #655

chore(py): release tket-py 0.12.3

chore(py): release tket-py 0.12.3 #655

Workflow file for this run

# A check that ensures that `tket-py` works correctly with the latest release of `tket-exts` and `tket-eccs`.
#
# If this fails, it is likely that we either didn't update the dependency version in tket's pyproject,
# or the latest `tket-exts`/`tket-eccs` packages haven't been published to pypi.
name: 🚚 tket-py release checks
on:
pull_request:
branches:
- main
workflow_dispatch: {}
env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
# Pinned version for the uv package manager
UV_VERSION: "0.7.5"
# The highest and lowest supported Python versions, used for testing
PYTHON_HIGHEST: "3.13"
PYTHON_LOWEST: "3.10"
jobs:
py-release:
name: Check `tket-py` release compatibility
runs-on: ubuntu-latest
# Check if we are running on a release PR.
#
# release-please always uses this branch name.
if: ${{ github.event_name == 'workflow_dispatch' || github.head_ref == 'release-please--branches--main--components--tket-py' }}
steps:
- uses: actions/checkout@v5
- uses: mozilla-actions/sccache-action@v0.0.9
- name: Set up uv
uses: astral-sh/setup-uv@v6
with:
version: ${{ env.UV_VERSION }}
enable-cache: true
- name: Install Python ${{ env.PYTHON_HIGHEST }}
run: |
uv python install ${{ env.PYTHON_HIGHEST }}
uv python pin ${{ env.PYTHON_HIGHEST }}
- name: Setup `tket-py` with only pypi deps
run: |
uv sync --no-sources --no-install-workspace
uv pip install --no-sources tket-exts
uv pip install --no-sources tket-eccs
uv run --no-sync maturin develop
echo "\nDone! Installed dependencies:"
uv pip list
- name: Type check with mypy
run: uv run --no-sync mypy tket-py
- name: Lint with ruff
run: uv run --no-sync ruff check tket-py
- name: Run python tests
run: uv run --no-sync pytest tket-py