Skip to content

Update Python version to 3.14.7 - #8456

Open
fanninpm wants to merge 1 commit into
RustPython:mainfrom
fanninpm:update-python-version
Open

Update Python version to 3.14.7#8456
fanninpm wants to merge 1 commit into
RustPython:mainfrom
fanninpm:update-python-version

Conversation

@fanninpm

@fanninpm fanninpm commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

No AI was used in the making of this PR.

Summary

CPython 3.14.7 just released. A few files were updated to reflect that.

Summary by CodeRabbit

  • Chores
    • Updated the project’s default Python version to 3.14.7.
    • Updated automated workflows to use Python 3.14.7 for documentation database updates and library upgrades.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: e5eb4ce8-49be-435e-93fb-366b49ec10c6

📥 Commits

Reviewing files that changed from the base of the PR and between 1c7759c and a7074dc.

📒 Files selected for processing (3)
  • .github/workflows/update-doc-db.yml
  • .github/workflows/upgrade-pylib.md
  • .python-version
🚧 Files skipped from review as they are similar to previous changes (3)
  • .github/workflows/upgrade-pylib.md
  • .python-version
  • .github/workflows/update-doc-db.yml

📝 Walkthrough

Walkthrough

The repository updates Python version references from earlier 3.14.x releases to 3.14.7 in the version file and two workflow configurations.

Changes

Python version update

Layer / File(s) Summary
Align Python version references
.python-version, .github/workflows/update-doc-db.yml, .github/workflows/upgrade-pylib.md
The repository configuration and workflows now target Python 3.14.7.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Possibly related PRs

Suggested reviewers: youknowone

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: updating Python references to version 3.14.7.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/upgrade-pylib.lock.yml:
- Line 47: Update the cache configuration in the upgrade-pylib workflow so
restoring a cpython checkout cannot fall back across Python versions: remove the
broad cpython-lib- restore key or require an exact v3.14.7 marker before
accepting the restored directory. Then regenerate the workflow lock file from
the upgrade-pylib workflow definition, preserving the existing cpython/Lib
validation behavior.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: 735b9095-e128-4415-a339-a9a024d0f160

📥 Commits

Reviewing files that changed from the base of the PR and between 1c7759c and 0ccb926.

📒 Files selected for processing (4)
  • .github/workflows/update-doc-db.yml
  • .github/workflows/upgrade-pylib.lock.yml
  • .github/workflows/upgrade-pylib.md
  • .python-version

env:
ISSUE_ID: "6839"
PYTHON_VERSION: v3.14.3
PYTHON_VERSION: v3.14.7

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== candidate files =="
git ls-files | rg '(^\.github/workflows/upgrade-pylib\.lock\.ya?ml$|^\.github/workflows/upgrade-pylib\.md$|upgrade-pylib)' || true

echo
echo "== workflow lock excerpt =="
if [ -f .github/workflows/upgrade-pylib.lock.yml ]; then
  nl -ba .github/workflows/upgrade-pylib.lock.yml | sed -n '1,180p'
elif [ -f .github/workflows/upgrade-pylib.lock.yaml ]; then
  nl -ba .github/workflows/upgrade-pylib.lock.yaml | sed -n '1,180p'
fi

echo
echo "== markdown generator excerpt =="
if [ -f .github/workflows/upgrade-pylib.md ]; then
  nl -ba .github/workflows/upgrade-pylib.md | sed -n '1,180p'
fi

echo
echo "== searches for restore-keys and cp/lib/version checks =="
rg -n "PYTHON_VERSION|restore-keys|cpython/|v3\.14\.7|v3\.14\.6|CACHED|cache-key|cp/Lib|setup-python" .github/workflows || true

Repository: RustPython/RustPython

Length of output: 408


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== workflow lock excerpt =="
awk 'NR>=1 && NR<=180 { printf "%6d  %s\n", NR, $0 }' .github/workflows/upgrade-pylib.lock.yml

echo
echo "== markdown generator excerpt =="
awk 'NR>=1 && NR<=180 { printf "%6d  %s\n", NR, $0 }' .github/workflows/upgrade-pylib.md

echo
echo "== targeted text search =="
grep -RInE "PYTHON_VERSION|restore-keys|cpython/|v3\.14\.7|v3\.14\.6|CACHED|cache-key|cp/Lib|RUSTPY|python|setup-python|git clone|checkout" .github/workflows || true

Repository: RustPython/RustPython

Length of output: 34771


🌐 Web query:

GitHub Actions caching restore-keys partial-match cache key documentation

💡 Result:

In GitHub Actions, the restore-keys input is used to specify a list of alternative keys that the cache action searches if no exact match is found for the primary key [1][2]. How partial matching works: 1. Sequential Search: When an exact match for the primary key is not found, the cache action evaluates the restore-keys in the order they are listed [1][3]. 2. Prefix Matching: A restore key acts as a prefix-match wildcard [4]. If you provide a restore key such as npm-feature-, it will match any existing cache key that begins with that string [1][3]. 3. Selecting the Best Match: If multiple caches exist that match a given restore key (via prefix matching), the action selects the most recently created cache [1][3]. 4. Output: When a partial match is found and restored via restore-keys, the cache-hit output variable will be set to false, indicating that no exact match occurred [5][2]. Example Usage: If your primary key is npm-feature-${{ hashFiles('package-lock.json') }}, you can provide multiple, increasingly general restore-keys to ensure the most relevant available cache is restored [1][3]: restore-keys: | npm-feature-${{ hashFiles('package-lock.json') }} npm-feature- npm- In this scenario, if the specific hash does not match, the action attempts to find any cache starting with npm-feature-, and finally falls back to any cache starting with npm- [1][3].

Citations:


Prevent stale CPython caches from bypassing v3.14.7.

Line 47 targets v3.14.7, but restore-keys still has cpython-lib-, so a fallback cache can restore a cpython checkout from another version. The check in .github/workflows/upgrade-pylib.md only accepts cpython/Lib before cloning, so the job can run without fetching v3.14.7. Remove the broad restore key or require an exact version marker before accepting the restored cpython directory. Regenerate .github/workflows/upgrade-pylib.lock.yml from .github/workflows/upgrade-pylib.md.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/upgrade-pylib.lock.yml at line 47, Update the cache
configuration in the upgrade-pylib workflow so restoring a cpython checkout
cannot fall back across Python versions: remove the broad cpython-lib- restore
key or require an exact v3.14.7 marker before accepting the restored directory.
Then regenerate the workflow lock file from the upgrade-pylib workflow
definition, preserving the existing cpython/Lib validation behavior.

@fanninpm
fanninpm force-pushed the update-python-version branch from 0ccb926 to a7074dc Compare August 7, 2026 03:39
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

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.

1 participant