jobs:
build_sdist:
name: Build sdist
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
with:
python-version: ${{ env.python-version }}
+ - name: Install dependencies
+ run: python -m pip install setuptools
- name: Check metadata
run: "python setup.py check"
- name: Build sdist
strategy:
fail-fast: false
matrix:
- os: [ubuntu-22.04, ubuntu-22.04-arm, windows-2022, macos-15]
+ os: [ubuntu-24.04, ubuntu-24.04-arm, windows-2025, macos-15]
steps:
- uses: actions/checkout@v4
python-version: ${{ env.python-version }}
- name: Build wheels
- uses: pypa/cibuildwheel@v2.22
+ uses: pypa/cibuildwheel@v2.23
- name: Audit ABI3 compliance
# This may be moved into cibuildwheel itself in the future. See
upload_pypi_test:
name: Upload to PyPI (test)
needs: [build_wheels, build_sdist]
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
if: github.repository == 'tornadoweb/tornado' && github.event_name == 'workflow_dispatch'
permissions:
# This permission is required for pypi's "trusted publisher" feature
upload_pypi:
name: Upload to PyPI (prod)
needs: [build_wheels, build_sdist]
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
if: github.repository == 'tornadoweb/tornado' && github.event_name == 'push' && github.ref_type == 'tag' && startsWith(github.ref_name, 'v')
permissions:
# This permission is required for pypi's "trusted publisher" feature
# first-time contributors).
test_quick:
name: Run quick tests
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
test_tox:
name: Run full tests
needs: test_quick
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
strategy:
matrix:
include:
# enough that we'll break it if we don't test it in CI.
name: Run windows tests
needs: test_quick
- runs-on: windows-2022
+ runs-on: windows-2025
steps:
- uses: actions/checkout@v4
with:
zizmor:
name: Analyze action configs with zizmor
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
needs: test_quick
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- - uses: astral-sh/setup-uv@v5
+ - uses: astral-sh/setup-uv@v6
name: Install uv
- name: Run zizmor
run: uvx zizmor .github/workflows
# test_tox with test_cibw would entail either increasing test runtime or reducing
# test coverage.
name: Test with cibuildwheel
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
needs: test_quick
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Run cibuildwheel
- uses: pypa/cibuildwheel@v2.22
+ uses: pypa/cibuildwheel@v2.23
env:
# For speed, we only build one python version and one arch. We throw away the wheels
# built here; the real build is defined in build.yml.