Skip to content

ci: drop Python 3.10 and build wheels for 3.11-3.15 to match cuda-tile - #230

Merged
hannahli-nv merged 2 commits into
mainfrom
hanli/drop-py310-ci
Nov 14, 2026
Merged

hannahli-nv merged 2 commits into
mainfrom
hanli/drop-py310-ci

Conversation

@hannahli-nv

@hannahli-nv hannahli-nv commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

Description

cuda-tile 1.8.0 requires Python >=3.11,<3.16. It no longer ships cp310 wheels, and it now ships cp311–cp315 (plus free-threaded 3.14t/3.15t). This PR moves TileGym's CI to the same CPython range. The package metadata changes (setup.py classifiers and python_requires, plus the python_version floor split in requirements.txt) come in a separate dependency sync. This PR has to merge first: once the wheel declares >=3.11, the 3.10 sanity check can't install it and the 3.10 pip-audit can't resolve pillow>=13.

Changes:

  • tilegym-ci.yml:
    • The wheel matrix goes from 3.10, 3.11, 3.12 to 3.11–3.15 on x86_64 and arm64.
    • The sanity check (pip check) runs on 3.11, the lowest supported version.
    • The image build step and the verified wheel use py312-x86_64, because the Docker image tests on Python 3.12 (Ubuntu 24.04). They used py310, a version Docker never ran. The TileGym wheel is pure Python, so the wheel file is the same; only the artifact label changes.
  • build-wheel.yml: removes the 3.10-only WAIVED_PACKAGES (pillow/filelock) pip-audit waiver. check_pip_audit.py loses its waived-package option, which existed only for that waiver, so any finding now blocks on every version.
  • build-wheel.yml / publish-wheel.yml: the default python-versions changes from ["3.10"] to ["3.12"], and the examples and comments are updated. The tilegym-release.yml artifact regex already accepts any pyNNN; only its comment example changes.

CI Configuration

config:
  build: true
  # valid options are "ops", "benchmark", and "sanity"
  test: ["ops", "sanity"]

Checklist

  • Code formatted and imports sorted via repo specifications (./format.sh) (no Python changes)
  • Documentation updated (if needed)
  • CI configuration reviewed

🤖 Generated with Claude Code

@copy-pr-bot

copy-pr-bot Bot commented Nov 10, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@hannahli-nv

Copy link
Copy Markdown
Collaborator Author

/ok to test 43eac1a

@hannahli-nv

Copy link
Copy Markdown
Collaborator Author

/ok to test 387b306

@hannahli-nv

Copy link
Copy Markdown
Collaborator Author

/ok to test 20d3278

cuda-tile 1.8.0 requires Python >=3.11,<3.16 and no longer ships cp310 wheels.
Build and audit wheels for 3.11-3.15, run the sanity check on 3.11, and mark
the py312 wheel as verified because the Docker tests run on Python 3.12. The
3.10-only pillow/filelock pip-audit waiver is no longer needed.
The option only existed for the Python 3.10 pillow/filelock waiver, which the
previous commit removes. Every finding now fails the audit, and passing any
argument besides the report is an error.
@hannahli-nv

Copy link
Copy Markdown
Collaborator Author

/ok to test 5a1b32a

@hannahli-nv
hannahli-nv merged commit e5f2837 into main Nov 14, 2026
37 checks passed
@hannahli-nv
hannahli-nv deleted the hanli/drop-py310-ci branch November 14, 2026 12:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants