Skip to content

ci(nix): run the codegen, lint and docs gates in the development shell - #48

Open
Joibel wants to merge 1 commit into
tb-ufbi.2-pr2from
tb-ufbi.3-pr3
Open

ci(nix): run the codegen, lint and docs gates in the development shell#48
Joibel wants to merge 1 commit into
tb-ufbi.2-pr2from
tb-ufbi.3-pr3

Conversation

@Joibel

@Joibel Joibel commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Based on PR #47

Chain of upstream PRs as of 2026-07-30

Fixes #TODO

Motivation

Modifications

Verification

Documentation

AI

🤖 Generated with Claude Code

https://claude.ai/code/session_01H871PuNyYPzjmpUhXCRXGA

These three jobs decide whether generated files, lint results and the docs
are acceptable, and each was installing its own tools: a Go version written
out in the workflow, a protoc release fetched from GitHub into /usr/local,
Node, Python, and two OpenAPI Generator images pulled from Docker Hub. None
of those versions were the ones a contributor has, so "passes locally" and
"passes in CI" were two different claims, and moving either one meant editing
it in two places.

Run them as `nix develop --command make ...` instead. The versions are now
the flake's, which is also what the failing contributor is running, and the
workflow says nothing about them at all. The protoc install and both image
pulls go with it — the Java SDK generates with the pinned jar from the shell
as of the flake, and nothing has used the 5.4.0 image for some time.

The Makefile stops passing `-I /usr/local/include` to protoc, since that
directory was populated by the CI step this removes; protoc finds the
well-known types next to its own binary. Verified by regenerating
pkg/apiclient/info from scratch: byte-identical to what is checked in.

Dropping setup-go also drops the Go build and module caching it did as a
side effect, which is a real cost on jobs that compile the world. A small
composite action puts that back on its own, keyed on the flake lock so a
toolchain change does not try to reuse another compiler's build cache. The
jobs converted in later PRs use the same action.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UfBK3mQcTNEBEGpXu4hzCY
Signed-off-by: Alan Clucas <alan@clucas.org>
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