diff --git a/.github/workflows/python-test.yaml b/.github/workflows/python-test.yaml index 392c9e29..b4ac55fc 100644 --- a/.github/workflows/python-test.yaml +++ b/.github/workflows/python-test.yaml @@ -10,11 +10,13 @@ on: - "impit-python/**" - "impit/**" - 'Cargo.*' + - '.github/workflows/python-test.yaml' pull_request: paths: - 'impit-python/**' - 'impit/**' - 'Cargo.*' + - '.github/workflows/python-test.yaml' workflow_dispatch: workflow_call: inputs: @@ -60,13 +62,15 @@ jobs: 3.12 3.13 3.14 + 3.15 + allow-prereleases: true - name: Build wheels uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1 with: working-directory: impit-python target: ${{ matrix.target }} - args: --release --out dist --interpreter '3.10 3.11 3.12 3.13 3.14 3.14t' ${{ matrix.target == 'x86_64' && '--sdist' || '' }} + args: --release --out dist --interpreter '3.10 3.11 3.12 3.13 3.14 3.14t 3.15' ${{ matrix.target == 'x86_64' && '--sdist' || '' }} sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} manylinux: ${{ matrix.target == 'x86_64' && 'auto' || matrix.target == 'aarch64' && '2_28' }} @@ -86,6 +90,7 @@ jobs: target: x86_64 - runner: ubuntu-24.04-arm target: aarch64 + python-version: ['3.14', '3.15'] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 @@ -98,7 +103,8 @@ jobs: - name: Set up Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7 with: - python-version: 3.14 + python-version: ${{ matrix.python-version }} + allow-prereleases: ${{ matrix.python-version == '3.15' }} - name: Download wheels uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8 @@ -113,10 +119,10 @@ jobs: APIFY_HTTPBIN_TOKEN: ${{ secrets.APIFY_HTTPBIN_TOKEN }} run: | set -e - uv venv + uv venv --python "$(command -v python)" source .venv/bin/activate uv sync --no-group docs --frozen --no-install-package impit -v - uv pip install --no-index --find-links dist --force-reinstall impit -v + uv pip install --no-index --find-links dist --only-binary :all: --force-reinstall impit -v python -m pytest musllinux: @@ -142,13 +148,15 @@ jobs: 3.12 3.13 3.14 + 3.15 + allow-prereleases: true - name: Build wheels uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1 with: working-directory: impit-python target: ${{ matrix.platform.target }} - args: --release --out dist --interpreter '3.10 3.11 3.12 3.13 3.14 3.14t' + args: --release --out dist --interpreter '3.10 3.11 3.12 3.13 3.14 3.14t 3.15' sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} manylinux: musllinux_1_2 @@ -219,6 +227,8 @@ jobs: 3.12 3.13 3.14 + 3.15 + allow-prereleases: true architecture: ${{ matrix.platform.target }} - name: Build wheels @@ -275,13 +285,15 @@ jobs: 3.12 3.13 3.14 + 3.15 + allow-prereleases: true - name: Build wheels uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1 with: working-directory: impit-python target: ${{ matrix.platform.target }} - args: --release --out dist --interpreter '3.10 3.11 3.12 3.13 3.14 3.14t' + args: --release --out dist --interpreter '3.10 3.11 3.12 3.13 3.14 3.14t 3.15' sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} - name: Upload wheels diff --git a/impit-python/pyproject.toml b/impit-python/pyproject.toml index 33e736d3..03ba153e 100644 --- a/impit-python/pyproject.toml +++ b/impit-python/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["maturin>=1.0,<2.0"] +requires = ["maturin>=1.15.0,<2.0"] build-backend = "maturin" [project] @@ -21,6 +21,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", "Topic :: Software Development :: Libraries", ] keywords = [