ci: add a build, vet and test-compile workflow - #432
Merged
Ryanmello07 merged 1 commit intoAug 11, 2026
Conversation
This repo has no CI, so a change that breaks the build or leaves a test file uncompilable is only found by whoever pulls next. The workflow's real content is the sibling checkout. Every github.com/urnetwork/* dependency resolves through a `replace ../` directive, so a lone checkout does not build -- it fails with "missing go.sum entry", an error that names nothing about the actual cause. All seven siblings are checked out beside the tree, which is also the layout a developer needs locally. It does not RUN the suite: server.DefaultTestEnv expects postgres and redis, and standing those up is a larger change than this one. It does compile every test binary, which catches the break that actually happens in practice -- a model signature changing out from under a test file -- and stays green without infrastructure. Running the suite for real is a good follow-up once service containers and the WARP_ENV wiring are settled. Triggers on every branch rather than a named list, so the file stays identical wherever it is merged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
This repository has no CI, so a change that breaks the build — or leaves a test file that no longer compiles — is currently only discovered by whoever pulls next. One workflow file, nothing else.
The part that matters: the sibling checkout
Every
github.com/urnetwork/*dependency resolves through areplace ../directive in go.mod, so a lone checkout does not build. It fails with:which names nothing about the real cause. The workflow checks out all seven siblings —
connect,glog,sdk,proxy,goidenticons,userwireguard, andurfoundation/sn— beside the tree, under exactly the directory names the replace directives expect. That is also the layout a developer needs locally, so the workflow doubles as executable documentation of it.What it runs
go build ./...go vet ./...go test -run 'XXX_NO_SUCH_TEST' -count=1 ./...It deliberately does not run the suite.
server.DefaultTestEnvexpects postgres and redis, and standing those up (plus theWARP_ENV/WARP_SERVICEwiringtest.shexports) is a bigger change than this one and not something I could verify end to end here. Compiling the test binaries is the part that stays green without infrastructure while still catching the break that actually happens in practice — a model or handler signature changing out from under a test file. Running the suite for real is a natural follow-up.Notes
concurrencywithcancel-in-progresskeeps a busy branch to one run at a time.permissions: contents: readandtimeout-minutes: 30are set explicitly rather than inherited.connectcan turn this red; if that proves noisy, the fix is to pinref:per sibling and bump deliberately. I left them unpinned so the signal matches what a developer actually gets.Verification
Every step was run locally against this tree with all seven siblings present (Go 1.26.5):
go build ./...,go vet ./..., and the test-compile step all pass. The workflow YAML parses.🤖 Generated with Claude Code