Update Python version to 3.14.7 - #8456
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughThe repository updates Python version references from earlier 3.14.x releases to 3.14.7 in the version file and two workflow configurations. ChangesPython version update
Estimated code review effort: 1 (Trivial) | ~3 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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
📒 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 |
There was a problem hiding this comment.
🗄️ 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 || trueRepository: 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 || trueRepository: 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:
- 1: https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching
- 2: https://github.com/actions/cache/blob/main/README.md
- 3: https://github.com/github/docs/blob/main/content/actions/reference/workflows-and-actions/dependency-caching.md
- 4: What does `restore-keys` do? actions/cache#578
- 5: https://github.com/actions/cache/blob/main/restore/README.md
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.
0ccb926 to
a7074dc
Compare
|
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. |
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