Add Python 3.14 to the CI matrix - #89
Merged
Merged
Conversation
Windows builds 3.10, 3.13 and 3.14; macOS and Linux build 3.13 and 3.14. The per-platform split is not cosmetic. `[ci].python_versions` fans out Windows only, where every interpreter comes from actions/setup-python and costs nothing but runner minutes. macOS and Linux need their own lists because 3.10 exists for the desktop products' Windows wheel and nothing else wants it, and because every Linux entry requires a published `conan-gcc13-py<version>` container -- those exist for 3.13 and 3.14 only, with no image for 3.10 through 3.12 on any registry. Dependencies move to the first releases carrying 3.14 binaries: xmscore 7.0.13, xmsgrid 9.1.1 and xmsinterp 7.0.12. The pins are exact and `python_version` propagates to every `xms_dependencies` entry in `configure()`, while the generated CI passes no `--build-missing` -- so a 3.14 configuration here cannot resolve until all three dependencies have published 3.14 binaries. That ordering constraint is why the rollout walks the tree rather than landing everywhere at once. No `[coverage]` section here, so no coverage pin is needed. The CI diff is small because this repo already regenerated at xmsconan 2.23.0 in 201c720 -- the `--wheel-dir` Release gate and the SHA-pinned actions are already in place. What changes here is the matrix itself. No source changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of the 3.14 rollout, after xmscore 7.0.13, xmsgrid 9.1.1 and xmsinterp 7.0.12. No source changes.
Matrix
15 jobs, up from 11.
The per-platform split isn't cosmetic.
[ci].python_versionsfans out Windows only, where every interpreter comes fromactions/setup-pythonand costs nothing but runner minutes. macOS and Linux need their own lists because 3.10 exists for the desktop products' Windows wheel and nothing else wants it, and because every Linux entry requires a publishedconan-gcc13-py<version>container — those exist for 3.13 and 3.14 only, with no image for 3.10–3.12 on any registry.Dependency bumps
xmscore7.0.12 → 7.0.13,xmsgrid9.1.0 → 9.1.1,xmsinterp7.0.11 → 7.0.12 — the first release of each carrying 3.14 binaries.This is a hard ordering constraint, not housekeeping: the pins are exact,
python_versionpropagates to everyxms_dependenciesentry inconfigure(), and the generated CI passes no--build-missing. A 3.14 configuration here cannot resolve until all three dependencies have published 3.14 binaries.No
[coverage]section in this repo, so no coverage pin is needed.Small CI diff, by design
Only 16 lines, because this repo already regenerated at xmsconan 2.23.0 in
201c7200— the--wheel-dirRelease gate and the SHA-pinned actions landed there. The sibling repos in this rollout carry an ~85-line diff because they were still on 2.18.0. What changes here is the matrix itself.Heads-up
Branch protection needs its required checks moved to the full 15-job matrix. A platform that fans out carries the version in its job name, so
GCC-13 (Debug, Linux)becomesGCC-13 (Debug, 3.14, Linux)and the old required-check names stop existing. No open PRs here to rebase.Tag after merge: 6.1.2.