chore: release #657
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |