Update python support to 3.15 and use new features - #31
Conversation
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
Adds Python 3.15 to the test matrix, targets it in .python-version, and uses typing.Self for GroupRegistry.register. Dependencies refreshed and the resulting style issues cleaned up. Rebased onto main: the branch previously carried main's own commits as diffs, which both conflicted and reverted the recently merged CaptchaData /TrustedUserData DTOs and the tool-cache gitignore entries. Those files now come from main and the branch carries only its own change. Ruff is pinned below 0.16 and given an explicit rule selection. Ruff 0.16 widens the default rule set from ~59 to ~413 rules, which reflagged 154 pre-existing findings and would have failed the lint job on its own.
6f748c3 to
77fa62e
Compare
The matrix was decorative: `uv sync` resolves the interpreter from .python-version, which overrode actions/setup-python, so all five jobs downloaded and ran CPython 3.15.0rc2. The 3.11-3.14 checks proved nothing about those versions. Each job now sets UV_PYTHON to its matrix entry, so every supported version is genuinely exercised. .python-version returns to the latest stable (3.14). Pinning it to 3.15 forced every local `uv sync` onto a release candidate and silently moved the dev interpreter off stable. 3.15 remains covered by the matrix, which is the right place to test a prerelease. The lint job likewise ran on 3.15 despite setup-python requesting 3.11; it is now pinned to 3.11, so linting and type-checking cover the declared floor of requires-python. Freezes the ruff rule set via an explicit select. Ruff 0.16 widened its defaults from ~59 to ~413 rules, reflagging 154 pre-existing findings that would have failed the lint job; the explicit select keeps the dependency upgrade while making linting independent of version-dependent defaults.
Hoists UV_PYTHON to the job level so every step in a job uses the same interpreter, including steps added later, instead of repeating the env block per step. Adds UV_PYTHON_DOWNLOADS: never so a missing interpreter fails loudly rather than silently downloading a different one. Downloads were how the matrix bug stayed invisible: uv fetched an interpreter instead of reporting that setup-python's build was not the one it used. Drops the dead empty [tool.ruff] table left behind by the lint config.
This PR addresses the following:
.python-versionto target Python 3.15.typing.Selfinsrc/bot/group_config.pyfor correct self-referential typings.uv lock --upgradeand runs the linter across the project to clean up resulting style issues.PR created automatically by Jules for task 13340290670059484399 started by @rezhajulio