From daa4d2a8a8766d774fbc7d973de0fe6e3e365ba3 Mon Sep 17 00:00:00 2001 From: David Hewitt Date: Wed, 15 Oct 2025 11:23:06 +0100 Subject: [PATCH 1/3] ci: install nox via uv --- .github/workflows/build.yml | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e8422e72e65..13e2d56233d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,6 +25,7 @@ on: env: NOX_DEFAULT_VENV_BACKEND: uv + UV_PYTHON: ${{ inputs.python-version}} jobs: build: @@ -43,9 +44,7 @@ jobs: # with the commit diff, because the merge may affect line numbers. ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} - # installs using setup-python do not work for arm macOS 3.9 and below - - if: ${{ !(inputs.os == 'macos-latest' && contains(fromJSON('["3.7", "3.8", "3.9"]'), inputs.python-version) && inputs.python-architecture == 'x64') }} - name: Set up Python ${{ inputs.python-version }} + - name: Set up Python ${{ inputs.python-version }} uses: actions/setup-python@v6 with: python-version: ${{ inputs.python-version }} @@ -53,15 +52,11 @@ jobs: # PyPy can have FFI changes within Python versions, which creates pain in CI check-latest: ${{ startsWith(inputs.python-version, 'pypy') }} - # workaround for the above, only available for 3.9 - - if: ${{ inputs.os == 'macos-latest' && contains(fromJSON('["3.9"]'), inputs.python-version) && inputs.python-architecture == 'x64' }} - name: Set up Python ${{ inputs.python-version }} + - name: Set up UV uses: astral-sh/setup-uv@v6 - with: - python-version: cpython-${{ inputs.python-version }}-macos-x86-64 - name: Install nox - run: python -m pip install --upgrade pip && pip install nox[uv] + run: uv tool install nox - name: Install Rust toolchain uses: dtolnay/rust-toolchain@master From 50a129dc8e91114e05c8e6fef8962b75dcd0bd9e Mon Sep 17 00:00:00 2001 From: David Hewitt Date: Wed, 15 Oct 2025 12:08:19 +0100 Subject: [PATCH 2/3] try graalpy Python versions --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e799406af6c..79b5c78829d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -235,7 +235,8 @@ jobs: "pypy3.9", "pypy3.10", "pypy3.11", - "graalpy24.2", + "graalpy3.11", + "graalpy3.12", ] platform: [ From cbbc2e1d5d8a3ba048a28fc72033dcd392fff066 Mon Sep 17 00:00:00 2001 From: David Hewitt Date: Wed, 15 Oct 2025 13:50:04 +0100 Subject: [PATCH 3/3] change strategy for installing graalpy, add graalpy 25.0 --- .github/workflows/build.yml | 6 +++++- .github/workflows/ci.yml | 7 +++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 13e2d56233d..c6d26cfaf7d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,6 @@ on: env: NOX_DEFAULT_VENV_BACKEND: uv - UV_PYTHON: ${{ inputs.python-version}} jobs: build: @@ -46,12 +45,17 @@ jobs: - name: Set up Python ${{ inputs.python-version }} uses: actions/setup-python@v6 + id: install-python with: python-version: ${{ inputs.python-version }} architecture: ${{ inputs.python-architecture }} # PyPy can have FFI changes within Python versions, which creates pain in CI check-latest: ${{ startsWith(inputs.python-version, 'pypy') }} + - name: Set UV_PYTHON to installed Python + shell: bash + run: echo "UV_PYTHON=${{ steps.install-python.outputs.python-path }}" >> $GITHUB_ENV + - name: Set up UV uses: astral-sh/setup-uv@v6 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 79b5c78829d..1dfda0c8eeb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -220,8 +220,7 @@ jobs: fail-fast: ${{ !contains(github.event.pull_request.labels.*.name, 'CI-no-fail-fast') }} matrix: rust: [stable] - python-version: - [ + python-version: [ "3.7", "3.8", "3.9", @@ -235,8 +234,8 @@ jobs: "pypy3.9", "pypy3.10", "pypy3.11", - "graalpy3.11", - "graalpy3.12", + "graalpy24.2", # last graalpy 3.11 release + "graalpy25.0", # current graalpy 3.12 release ] platform: [