ci(nix): run the codegen, lint and docs gates in the development shell - #48
Open
Joibel wants to merge 1 commit into
Open
ci(nix): run the codegen, lint and docs gates in the development shell#48Joibel wants to merge 1 commit into
Joibel wants to merge 1 commit into
Conversation
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>
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.
Based on PR #47
Chain of upstream PRs as of 2026-07-30
PR build(nix): one tools-only flake at the repo root #46:
nix-stack-base←tb-ufbi.1-pr1PR ci(nix): build the development shell into the Cachix cache #47:
tb-ufbi.1-pr1←tb-ufbi.2-pr2tb-ufbi.2-pr2←tb-ufbi.3-pr3Fixes #TODO
Motivation
Modifications
Verification
Documentation
AI
🤖 Generated with Claude Code
https://claude.ai/code/session_01H871PuNyYPzjmpUhXCRXGA