Skip to content

Bring CI up to the standard the other repositories already meet - #2

Merged
DenisDrobyshev merged 3 commits into
masterfrom
chore/ci-parity
Aug 6, 2026
Merged

Bring CI up to the standard the other repositories already meet#2
DenisDrobyshev merged 3 commits into
masterfrom
chore/ci-parity

Conversation

@DenisDrobyshev

@DenisDrobyshev DenisDrobyshev commented Aug 5, 2026

Copy link
Copy Markdown
Member

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-ask and praxis-eval — nothing verified
any of that.

  • test matrix across 3.11, 3.12 and 3.13, plus macOS and Windows on 3.12
  • build installs the wheel into a clean venv and runs every console script
  • aggregate CI job — one check name for branch protection, so adding a matrix
    entry later cannot silently leave it unguarded
  • codeql.yml: weekly and on every push, security-and-quality queries
  • dependabot-auto-merge.yml: action bumps and patch bumps only; minor and
    major keep a human
  • .pre-commit-config.yaml, including ruff-format
  • all actions moved to current majors (checkout v4 → v7, setup-python v5 → v7)

No dependabot.yml here. #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 --check is not in CI. Nineteen files predate the formatter, so
the gate would be red the day it lands. Reformatting belongs in its own commit.
The ruff-format hook in pre-commit covers what a contributor touches until
then. ruff check passes today and stays gated.

mypy is not in CI either. There is no mypy configuration in
pyproject.toml, and turning it on across an unannotated src/praxis would
produce 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

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.
@github-advanced-security

Copy link
Copy Markdown

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:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

DenisDrobyshev and others added 2 commits August 5, 2026 22:04
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.
@DenisDrobyshev
DenisDrobyshev merged commit e60a96a into master Aug 6, 2026
11 checks passed
@DenisDrobyshev
DenisDrobyshev deleted the chore/ci-parity branch August 6, 2026 07:28
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.

2 participants