Bring CI up to the standard the other repositories already meet - #2
Merged
Conversation
praxis had the thinnest pipeline in the organisation: one job, one Python version, one operating system, and actions two major versions behind. The package claims 3.11 through 3.13 and ships three console scripts, none of which anything verified. - test matrix across 3.11-3.13, plus macOS and Windows on 3.12 - a build job that installs the wheel into a clean environment and runs every console script, because an editable install hides a module missing from the wheel - an aggregate `CI` job, so branch protection has one check to require and adding a matrix entry cannot silently leave it unguarded - CodeQL weekly and on every push - Dependabot for pip and actions, with the ml extra left pinned - pre-commit, including ruff-format `ruff format --check` is deliberately absent from CI: nineteen files predate the formatter, so the gate would be red on day one. pre-commit formats what a commit touches until that is fixed in its own change.
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
PR #1 has been open since 3 August with that file, alongside the docs site and the English README. Duplicating it here would have made whichever merged second a conflict.
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.
What this changes
praxis had the thinnest pipeline in the organisation: one job, Python 3.12 on
Linux, and actions two major versions behind. The package declares 3.11 through
3.13 and ships
praxis-demo,praxis-askandpraxis-eval— nothing verifiedany of that.
testmatrix across 3.11, 3.12 and 3.13, plus macOS and Windows on 3.12buildinstalls the wheel into a clean venv and runs every console scriptCIjob — one check name for branch protection, so adding a matrixentry later cannot silently leave it unguarded
codeql.yml: weekly and on every push,security-and-qualityqueriesdependabot-auto-merge.yml: action bumps and patch bumps only; minor andmajor keep a human
.pre-commit-config.yaml, includingruff-formatNo
dependabot.ymlhere. #1 has been open since 3 August with that file.This branch defers to it; the auto-merge workflow reads its rules.
Why
Six of seven repositories have some part of this; only mlango has all of it.
praxis is the flagship, and it had the least.
What breaks if this is wrong
The pipeline itself, and nothing a user installs. Two decisions worth arguing
with:
ruff format --checkis not in CI. Nineteen files predate the formatter, sothe gate would be red the day it lands. Reformatting belongs in its own commit.
The
ruff-formathook in pre-commit covers what a contributor touches untilthen.
ruff checkpasses today and stays gated.mypy is not in CI either. There is no mypy configuration in
pyproject.toml, and turning it on across an unannotatedsrc/praxiswouldproduce a wall of errors that has nothing to do with this change.
Auto-merge only queues a merge: GitHub still waits for the required checks, and
a red build leaves the pull request open. It does nothing until #1 lands and
branch protection is on.
Checklist
ruff check src tests scripts clientspasses locally