chore(ci): bump Python to 3.14 and tighten conformance dep floors#11
Merged
Conversation
Python runtime: - python-version: 3.12 -> 3.14 (current stable, EOL 2030-10-31) Conformance dependencies (requirements.txt): - pyyaml: >=6.0 -> >=6.0.3 (current release) - jsonschema: >=4.0 -> >=4.26 (current release, min Python 3.10) Build tools: - markdownlint-cli: unpinned -> @0.48.0 (CI reproducibility) Floor bumps reflect the versions the conformance suite has actually been tested against. Both pyyaml and jsonschema continue supporting Python 3.10+, so the runtime bump is independent. Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates the CI/runtime baseline for the conformance suite by moving the workflow to Python 3.14 and tightening declared minimum versions for the suite’s Python dependencies, while also pinning the markdown linter version for more reproducible CI runs.
Changes:
- Bump GitHub Actions CI
python-versionfrom 3.12 to 3.14. - Tighten conformance dependency minimums for
pyyamlandjsonschema. - Pin
markdownlint-clito0.48.0in CI.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| requirements.txt | Raises minimum supported versions for pyyaml and jsonschema used by the conformance runner. |
| .github/workflows/ci.yml | Updates CI to use Python 3.14 and pins markdownlint-cli for deterministic linting. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Summary
Refreshes Python runtime and pinned versions for the conformance suite + markdown linting.
python-version(CI)3.123.14pyyaml(requirements.txt)>=6.0>=6.0.3jsonschema(requirements.txt)>=4.0>=4.26markdownlint-cli(CI install)@0.48.0npm install -ginstalls whatever is latest at job time.Why
>=6.0/>=4.0are extremely loose floors. Tightening them to the versions actually exercised by the conformance suite makes the declared contract honest. Floors (not pins) so upstream patches still flow.npm install -g markdownlint-cliwith no version selector means the CI job behavior drifts whenever upstream cuts a release. Pinning to@0.48.0makesmarkdownlintrule coverage deterministic across runs; easy to bump in a future PR when desired.Compatibility check
pyyaml6.0.3 —requires_python: >=3.8✓jsonschema4.26.0 —requires_python: >=3.10✓markdownlint-cli0.48.0 —engines: node>=20✓ (we use Node 24)What this does NOT change
node-version: "24"— already LTS.Test plan
markdownlint-cli@0.48.0produces no new warnings on existing.mdfiles🤖 Generated with Claude Code