PKG-15601 + PKG-2624 + PKG-17264 — CF-align freethreading/debug on 3.15.0rc1 (main) - #233
PKG-15601 + PKG-2624 + PKG-17264 — CF-align freethreading/debug on 3.15.0rc1 (main)#233skupr-anaconda wants to merge 16 commits into
Conversation
Staging artifact check —
|
| Platform | Variants |
|---|---|
| linux-64, linux-aarch64, osx-arm64 | release GIL, release FT, debug GIL, debug FT (python + libpython-static each) |
| win-64 | release GIL + release FT only (no debug — expected) |
| noarch | python-freethreading, python-gil, python-jit (release/GIL only; no debug jit) |
Repodata vs recipe
| Check | Example | Status |
|---|---|---|
| FT build_number | _0_cp315t |
✓ |
| GIL build_number | _100_cp315 |
✓ |
| Debug suffix | _debug_ in build string |
✓ |
| FT track feature | free-threading |
✓ (Anaconda naming) |
| FT site-packages | lib/python3.15t/site-packages |
✓ |
| ABI depends | python_abi *_cp315 / *_cp315t |
✓ |
Example repodata: linux-64 debug FT python
Prefix layout (tarball inspection)
STDLIB_VER vs VERABI split (post 0f23f75 / f89183b / 58ec5c2):
| Variant | stdlib dir | config dir | lib / include |
|---|---|---|---|
| debug GIL | lib/python3.15/ |
config-3.15d-* |
libpython3.15d.*, include/python3.15d/ |
| debug FT | lib/python3.15t/ |
config-3.15td-* |
libpython3.15td.*, include/python3.15td/ |
libpython-static debug FT: libpython3.15td.a, libpython3.15t.nolto.a, config symlink under lib/python3.15t/config-3.15td-*/.
Intentional divergences (unchanged)
track_features: free-threading(not CFpy_freethreading)PY_GIL_DISABLED/ emptylinkage_naturein build string- Single channel
ad-testing/label/py315
Notes
bin/python3.15still exists on debug builds from the genericpython/python3.1symlink chain; primary debug binaries arepython3.15d/python3.15td.
Verdict: artifacts at 5b800b4 match CF-align expectations for freethreading + debug build_type.
cbouss
left a comment
There was a problem hiding this comment.
I am not sure using AI is the right call for these kind of changes. It failed the alignment part at least.
2e1c490 to
30c1cca
Compare
Replace gil_type/os.environ Jinja with positive freethreading CBC key and build_type debug suffix on a single ad-testing/label/py315 channel. Co-authored-by: Cursor <cursoragent@cursor.com>
Use script YAML lists to avoid duplicate-key warnings and replace the obsolete license_file_overspecified skip with only-lint missing_home so conda-lint reports All checks OK on PBP. Co-authored-by: Cursor <cursoragent@cursor.com>
…g keys Document the linkage_nature/linkage_nature_env divergence from conda-forge.
Wire PY_INTERP_DEBUG through Unix build scripts (was DEBUG_PY, so debug variants never got --with-pydebug). Align libpython-static VERABI suffix order with build_base (VER+THREAD+DBG). Skip cmake for freethreading like conda-forge. Add core debug/zstd checks to run_test.py. Co-authored-by: Cursor <cursoragent@cursor.com>
Debug Py_DEBUG builds install stdlib under lib/python${VER}${THREAD}/ while
lib/config artifacts use VERABI (e.g. libpython3.15d.so, config-3.15d-*).
build_base.sh was writing _sysconfigdata into lib/python3.15d/ which does not
exist. Introduce STDLIB_VER for stdlib paths. Drop obsolete skip-lints entry
that triggered unknown_check on current anaconda-linter.
Co-authored-by: Cursor <cursoragent@cursor.com>
build_base.sh already used STDLIB_VER for stdlib dirs; build_static.sh still used VERABI (e.g. python3.15d/) so pushd to config-3.15d-* failed on debug variants. Align with conda-forge VERABI_NO_DBG split for stdlib vs ABI paths. Co-authored-by: Cursor <cursoragent@cursor.com>
Debug builds name the PIC archive libpython3.15-pic.a (not 3.15d-pic.a); build_static.sh copies that path. Align build_base.sh with conda-forge VERABI_NO_DBG naming so libpython-static debug builds can find the file. Co-authored-by: Cursor <cursoragent@cursor.com>
Debug builds install python3.15d but FindPythonLibs expects unprefixed paths; add conda-forge-style symlinks for bin, lib, and include. Skip python-jit when JIT is disabled (--enable-experimental-jit=no). Remove stray default.profraw before the osx PGO artifact check. Co-authored-by: Cursor <cursoragent@cursor.com>
Remove pydebug symlinks that mapped 3.15d artifacts onto unprefixed paths. Gate the legacy FindPythonLibs cmake test to release GIL builds only, matching the freethreading skip pattern. Co-authored-by: Cursor <cursoragent@cursor.com>
Use PY_FREETHREADING, PY_INTERP_DEBUG for optimization, CF debug symlinks and BUILD_DETAILS copy; drop linkage/OLD_HOST/compiler_compat divergences. Restore skip-lints, CF cmake gating, and remove run_test_py315.py. Co-authored-by: Cursor <cursoragent@cursor.com>
Skip python-jit where build_base.sh disables experimental JIT; set PYTHON_FOR_BUILD on Windows and patch find_python.bat after aka.ms nugetclidl broke; align track_features and ninja test dep with CF. Co-authored-by: Cursor <cursoragent@cursor.com>
Set PYTHON from the conda build env (PR #238 pattern) and drop the find_python.bat patch plus PYTHON_FOR_BUILD workaround. Co-authored-by: Cursor <cursoragent@cursor.com>
…ke-no-system - Skip FindPythonLibs cmake test for freethreading and debug builds - Use cmake-no-system (latest on main) to avoid cmake/libzstd dyld abort on osx - Restore CF-style double-backslash win path checks - Document intentional drop of linkage_nature env Jinja vs conda-forge Co-authored-by: Cursor <cursoragent@cursor.com>
Restore the cross-build pyc exclusion, remove the unsupported profraw cleanup and stale lint suppression, and express cmake gating as a linter-compatible selector. Co-authored-by: Cursor <cursoragent@cursor.com>
Bring rc1 version/sha, tk 9, osx clang 21 CBC pins, llvm-ar-21 wrappers, refreshed patches from PR #244; drop testing upload_channels so PBP defaults to pkgs/main. Keep freethreading + build_type CF-align. Co-authored-by: Cursor <cursoragent@cursor.com>
a114f80 to
00142c8
Compare
|
Staging artifact check — 00142c8 (post-rebase HEAD of CF-align + rc1) Channel: staging 00142c8 (64 entries = 32 builds × Matrix (platform outputs)
Repodata vs recipe
Example: linux-64 debug FT python Prefix layout (tarball inspection)STDLIB vs VERABI split:
libpython-static debug FT: Intentional divergences (unchanged)
Notes
Verdict: artifacts at |
Summary
Ports approved PR #244 (
3.15.0rc1/ LLVM 21 / tk 9) onto CF-alignfreethreading+build_type(debug) work from this branch.3.15.0rc1(sha256 from PKG-17264 — Python 3.15.0rc1 #244); patches refreshed fromPKG-17264-py315rc1freethreading/build_type; nogil_typeregressionc_compiler_version/cxx_compiler_version: 21;llvm-ar-21wrappers; drop unversionedllvm-toolsupload_channels, no labeled testingchannelsmaster-py3.15.0rc1(same lineage as PKG-17264 — Python 3.15.0rc1 #244). Leave PKG-17264 — Python 3.15.0rc1 #244 open/unmerged.Do not merge
Wait for two teammate approvals. Intentional main-channel delivery (not
ad-testing/label/py315).Links
Test plan
upload_channels/ testing labels inabs.yaml