Repository navigation
Begin the Python 3.15 target and essential-library migration #8950
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
6c25298
519370b
0486d6d
67f79ea
72a6330
2002f53
8d6c943
ae03487
33198c7
8aff205
934493b
8573d91
459395b
9391879
dcc5619
54dfc8d
d517416
1003f62
b4468ee
4e854bb
90d2d12
1af8926
3eb4607
7c77f5e
73ea417
d7b4be2
fd56e29
80d3e52
df73fa0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
Update active version and comparison configuration to Python 3.15.0. Preserve the alpha implementation status, actual bytecode format, and existing libraries pending separate migration. Align generated library-upgrade workflow pins without changing permissions or actions. Assisted-by: OpenAI Codex:model identifier unavailable
- Loading branch information
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -16,7 +16,7 @@ if [ "$(printf '%s\n' "3.13" "$CURRENT_PY" | sort -V | head -1)" != "3.13" ]; th | |
| echo "Upgrading python3 default to 3.13..." | ||
| # Find best available Python >= 3.13 | ||
| TARGET="" | ||
| for ver in python3.14 python3.13; do | ||
| for ver in python3.15 python3.14 python3.13; do | ||
| if command -v "$ver" &>/dev/null; then | ||
| TARGET=$(command -v "$ver") | ||
| break | ||
|
|
@@ -40,8 +40,8 @@ fi | |
|
|
||
| # 2. Clone CPython source if not present (needed for scripts/update_lib) | ||
| if [ ! -d "cpython" ]; then | ||
| echo "Cloning CPython v3.14.3 (shallow)..." | ||
| git clone --depth 1 --branch v3.14.3 https://github.com/python/cpython.git cpython | ||
| echo "Cloning CPython v3.15.0 (shallow)..." | ||
| git clone --depth 1 --branch v3.15.0 https://github.com/python/cpython.git cpython | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When this startup script is rerun in a workspace that already contains the v3.14.3 clone created by the previous version, the directory-only guard takes the Useful? React with 👍 / 👎. |
||
| echo "CPython source ready." | ||
| else | ||
| echo "CPython source already present." | ||
|
|
||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -28,7 +28,7 @@ engine: copilot | |
|
|
||
| runtimes: | ||
| python: | ||
| version: "3.14" | ||
| version: "3.15" | ||
|
|
||
| tools: | ||
| bash: | ||
|
|
@@ -52,7 +52,7 @@ cache: | |
| - cpython-lib- | ||
|
|
||
| env: | ||
| PYTHON_VERSION: "v3.14.7" | ||
| PYTHON_VERSION: "v3.15.0" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When the Useful? React with 👍 / 👎.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed in 8d6c943. The workflow source and regenerated lock file no longer restore cross-version CPython caches. Both the workflow setup and .claude/scripts/setup-env.sh reject an existing checkout unless HEAD matches v3.15.0 and the working tree is clean; they leave stale or dirty files untouched. The cache validation fixtures and workflow security scan pass. Hosted CI is still pending. |
||
| ISSUE_ID: "6839" | ||
| --- | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| 3.14.7 | ||
| 3.15.0 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -25,6 +25,12 @@ | |
| assert isinstance(sys.implementation.name, str) | ||
| assert isinstance(sys.implementation.cache_tag, str) | ||
|
|
||
| if sys.implementation.name == "rustpython": | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this is nonsense. do not add
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Changed in 8d6c943: these assertions are now shared by both interpreters and check the 3.15.0 version fields and cache tag without an implementation-name guard or an alpha-only assertion. The same snippet passes on RustPython and official CPython 3.15.0. |
||
| assert sys.version_info == (3, 15, 0, "alpha", 0) | ||
| assert sys.hexversion == 0x030F00A0 | ||
| assert sys.version.startswith("3.15.0.alpha (") | ||
| assert sys.implementation.cache_tag == "rustpython-315" | ||
|
|
||
| assert sys.getfilesystemencoding() == "utf-8" | ||
| assert sys.getfilesystemencodeerrors().startswith("surrogate") | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.