Skip to content

Install the CI lint tools; update devenv to 0.2.9 - #975

Merged
ajslater merged 4 commits into
developfrom
v0.2.9-devenv-lint-tools
Oct 19, 2026
Merged

ajslater merged 4 commits into
developfrom
v0.2.9-devenv-lint-tools

Conversation

@ajslater

@ajslater ajslater commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Adds devenv's lint-tool recipe to the codex-ci stage: COPY --from the upstream images for shellcheck, shfmt, hadolint, actionlint and dockerfmt, plus shellharden's latest release tarball. Drops apt's shellcheck so the image's version matches the dev machines.
  • make update-devenv to devenv 0.2.9: need in bin/_lib.sh fails in CI when a tool is missing, compose.yaml forwards the runner's CI into the container, and the devenv-lint-tools action lands for native mode.
  • A first commit fixes lint errors that were already on develop (three eslint-plugin-unicorn findings in the frontend, four ruff ICN001 datetime aliases); without them make lint never reached the shell, Dockerfile and workflow checks.
  • A last commit excludes the two directory symlinks (docs/NEWS/codex, docs/img) from the sdist: uv's builder reads them as files and the Build Dist job failed with "Is a directory". Also pre-existing on develop.

The branch carries a v0 prefix so devenv-check runs on this pull request into develop.

Known: the Lint job fails at its last step, actionlint, until devenv's lint-ci.sh passes the workflow files explicitly (actionlint cannot find a project in the CI image, which has no .git). A follow-up make update-devenv commit lands here once that fix is on devenv main.

Test plan

  • make fix lint test locally: lint runs all six tools with no skipped: line, 1668 tests pass
  • uv build --sdist and --wheel succeed locally
  • CI lint job log shows no skipped: line and no not installed error

🤖 Generated with Claude Code

ajslater and others added 4 commits October 18, 2026 18:17
Pre-existing on develop, where pushes do not run CI: eslint-plugin-unicorn
prefer-ternary and no-immediate-mutation in three frontend files, and ruff
ICN001 (`import datetime as dt`) in four Python files. Behavior unchanged;
`make lint` could not reach the shell, Dockerfile and workflow checks until
these passed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
devenv 0.2.9 makes a missing lint tool an error in CI instead of a
skip, so the codex-ci stage now copies shellcheck, shfmt, hadolint,
actionlint and dockerfmt from their upstream images and unpacks
shellharden's latest release, as devenv's README prescribes. apt's
shellcheck goes, so the image runs the same version as the dev
machines.

The devenv update brings the `need` guard in bin/_lib.sh, forwards CI
into the compose service, and adds the devenv-lint-tools action and
the native-mode install step.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
uv's sdist builder reads docs/NEWS/codex and docs/img, symlinks to
directories, as files and fails with "Is a directory". Pre-existing on
develop, where pushes do not run CI; it broke the Build Dist job. The
site builds from the checkout, so the sdist does not need them.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@ajslater
ajslater merged commit df658e5 into develop Oct 19, 2026
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