Update versions and add python3.14 - #137
Conversation
dbf806b to
60bff2b
Compare
| fi | ||
|
|
||
| pip install delocate==0.10.7 | ||
| pip install delocate |
There was a problem hiding this comment.
This is very interesting and some story to it.
Perhaps this only affects the 'large' runners. 🤷
matthew-brett/delocate#214
Regardless, this would surface during the assembly of the wheels or testing for sure.
There was a problem hiding this comment.
Think it looks correct with newest delocate:
carolina-2.0.3.dev3+ge2ebb967a-cp313-cp313-macosx_15_0_arm64.whl
, but with the update to macos-15-arm we will remove support for macos-14-arm (What previous version of Carolina required.)
There was a problem hiding this comment.
This is also fine. Since there are no changes to Dakota itself, any user requiring older support could just use the current version of Carolina.
29008ad to
855ad63
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates the project’s build/release tooling to support newer environments (notably adding Python 3.14 to metadata/CI) and modernizes Dakota/Boost wheel-building workflows across macOS and Linux.
Changes:
- Add Python 3.14 to project classifiers and CI build matrices.
- Update macOS/Linux wheel build pipelines (new runner/image targets, newer action versions, improved scripting, C++17 standard).
- Harden and adjust dependency/build scripts (quoting,
set -e(u), cmake constraints, patch/fix application during Dakota builds).
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Adjust linker flags: macOS header padding for delocate; Linux -z origin wiring. |
| script/build_boost_dakota.sh | Script hardening (set -eu), URL/quoting fixes, C++17, JEGA hotfix, cmake constraint. |
| pyproject.toml | Add Python 3.14 trove classifier. |
| dakota_manylinux_install_files/build_wheels_gha.sh | Safer bash settings/quoting, venv setup improvements, auditwheel usage updates. |
| dakota_manylinux_install_files/build_deps_gha.sh | Script hardening, uv-based Python install, patch application, C++17, GCC14 fix. |
| dakota_manylinux_install_files/build_deps_docker.sh | Similar deps build improvements for local docker flow; patching + C++17. |
| dakota_manylinux_install_files/CMakeLists.txt.patch | Adjust Dakota build system to include Python includes/threads and linker search paths. |
| .github/workflows/bundle_with_dakota_macos.yml | Add Python 3.14 + macOS-15, update action versions, C++17, delocate install changes. |
| .github/workflows/bundle_with_dakota_linux.yml | Add Python 3.14, update action versions, switch manylinux image, tweak test invocation. |
| .github/workflows/bundle_with_dakota_caller.yml | Update caching/actions, adjust publish validation dependencies and PyPI publish action version. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| fi | ||
|
|
||
| pip install delocate==0.10.7 | ||
| pip install delocate |
There was a problem hiding this comment.
delocate was previously pinned and is now installed unpinned. Because this is in the wheel build path, an upstream delocate release can break CI or change produced wheels unexpectedly; consider pinning to a known-good version (or at least a constrained range) for reproducible releases.
| pip install delocate | |
| pip install "delocate>=0.11.0,<0.12.0" |
| pip install -U pip | ||
| pip install twine | ||
| pip install packaging==25.0 | ||
| pip install -U packaging |
There was a problem hiding this comment.
Switching from a pinned packaging==... to pip install -U packaging makes the publish validation step non-reproducible and can break unexpectedly if a new packaging release changes behavior. Prefer pinning (or constraining) packaging to a tested version/range for release workflows.
| pip install -U packaging | |
| pip install "packaging==24.0" |
855ad63 to
a062402
Compare
andreas-el
left a comment
There was a problem hiding this comment.
Mighty fine work sir! 🎖️
Resolves #130