Skip to content

Add Python 3.14 to the CI matrix - #89

Merged
gagelarsen merged 1 commit into
masterfrom
feature/python-3.14-matrix
Aug 24, 2026
Merged

Add Python 3.14 to the CI matrix#89
gagelarsen merged 1 commit into
masterfrom
feature/python-3.14-matrix

Conversation

@gagelarsen

Copy link
Copy Markdown
Member

Part of the 3.14 rollout, after xmscore 7.0.13, xmsgrid 9.1.1 and xmsinterp 7.0.12. No source changes.

Matrix

platform Python
Windows 3.10, 3.13, 3.14
macOS 3.13, 3.14
Linux 3.13, 3.14
flake 3.13 (unchanged — linting is ABI-independent)

15 jobs, up from 11.

The per-platform split isn't 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–3.12 on any registry.

Dependency bumps

xmscore 7.0.12 → 7.0.13, xmsgrid 9.1.0 → 9.1.1, xmsinterp 7.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_version propagates to every xms_dependencies entry in configure(), 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-dir Release 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) becomes GCC-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.

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.
@gagelarsen
gagelarsen merged commit fb8ac9a into master Aug 24, 2026
30 checks passed
@gagelarsen
gagelarsen deleted the feature/python-3.14-matrix branch August 24, 2026 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant