Skip to content

ci: move to devenv's modular CI - #224

Merged
ajslater merged 2 commits into
developfrom
v-devenv-ci
Sep 29, 2026
Merged

ajslater merged 2 commits into
developfrom
v-devenv-ci

Conversation

@ajslater

Copy link
Copy Markdown
Owner

Summary

This moves the repo onto devenv's modular CI. bochord and codex are already migrated.

ci.yml is now devenv's standard caller (copy/gha_std):

  • CI calls devenv-check.yml:
    • Gate: runs the Release Preflight on main pushes and PRs into main. On a main push it reuses the dist of an earlier run that passed on the same git tree.
    • CI image: built once and pushed by digest.
    • Checks: a fail-fast Lint / Test / Build Dist matrix. Each check pulls that image.
    • Required check: CI / Lint, Test & Build Dist.
  • Publish to PyPI runs through the devenv-pypi action, on main pushes and pre-release PRs.
  • Release runs devenv-release.yml: tag, GitHub Release from NEWS.md, and merge main back into develop. It runs on main pushes only. Setting the RELEASE_AUTOMATION=off repo variable disables it.

Commits

  1. update devenv & deps. The routine devenv update:
    • .circleci lines retired from the ignore files
    • the ESLint base config
    • pyproject template changes
    • dependency bumps
  2. ci: move to devenv's modular CI.

bin/hub_prune_stale.py, which devenv's docker feature copies in, is deliberately left out: it needs Python 3.11 (datetime.UTC), and this repo still supports 3.10.

After merge

Switch main's required status check from Lint, Test & Build to CI / Lint, Test & Build Dist.

Test plan

  • make fix, make lint (including actionlint on every workflow), make ty and make test pass locally
  • Every CI file is byte-identical to devenv's source
  • This PR's run:
    • Gate
    • CI Image
    • Lint / Test / Build Dist pull the image and pass
    • CI / Lint, Test & Build Dist is green

🤖 Generated with Claude Code

ajslater and others added 2 commits September 28, 2026 21:45
- devenv: eslint base config (presets as separate flat-config entries
  via defineConfig extends), pyproject template (T201 per-file ignores
  for the copied bin/ scripts, prettier-plugin-toml 3 formatting),
  bin/roman.py drops its now-redundant T201 noqas.
- Retire CircleCI leftovers: .circleci lines in .dockerignore,
  .prettierignore and .remarkignore; the prettier "**/*Dockerfile"
  sh-parser override in package.json.
- Node dev deps: eslint plugins, prettier 3.9.9,
  prettier-plugin-toml 3.0.2; bun.lock.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ci.yml is now devenv's standard caller: devenv-check (gate with Release
Preflight and main-push dist reuse, one CI image pulled by a fail-fast
Lint / Test / Build Dist matrix, and the "CI / Lint, Test & Build Dist"
required check), then PyPI through the devenv-pypi action, then
devenv-release (tag, GitHub Release from NEWS.md, merge main into
develop).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ajslater
ajslater merged commit 40b5e1c into develop Sep 29, 2026
10 checks passed
@ajslater
ajslater deleted the v-devenv-ci branch October 6, 2026 20:43
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