ci: add workspace-test and codegen workflows to match fil-forge repos - #10
Merged
Conversation
Bring ingot's GitHub Actions in line with the rest of the fil-forge Go repos: - workspace-test.yml: calls the shared fil-forge/libforge/.github/workflows/go-workspace-test.yml@v1 reusable workflow (present in every fil-forge Go repo). It tests ingot against any sibling repos that share the PR's branch name. - codegen.yml: runs `make gen-check` to fail CI when committed generated files (bucket/cbor_gen.go) are stale. Unlike libforge, ingot's generator is a plain package already compiled by go-check/go-test, so no separate generator-build step is needed. - Makefile: add the `gen-check` target backing the codegen workflow. Release/container workflows (publish-ghcr, releaser, release-binaries, release-check, tagpush) are intentionally left out. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014wq5SR88MhpnVibs9EjQG4
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.
Brings ingot's GitHub Actions in line with the rest of the fil-forge Go repos. Two of the three workflows every sibling repo has were missing.
What's added
.github/workflows/workspace-test.ymlfil-forge/libforge/.github/workflows/go-workspace-test.yml@v1reusable workflow (present in every fil-forge Go repo). On a PR it detects sibling repos (libforge,ucantone,indexing-service) that share the branch name, synthesizes ago.workover them, and runsmake testagainst it..github/workflows/codegen.ymlmake gen-checkto fail CI when committed generated code (bucket/cbor_gen.go) is stale.Makefilegen-checktarget backing the codegen workflow.Deliberate deviations from a straight copy
codegen-buildstep because its generators sit behind acodegenbuild tag that the normal builds skip. ingot's generator (gen/main.go) is a plainpackage mainalready compiled bygo-check/go-test, so that step is redundant and omitted.gen-checkis path-scoped tobucket/cbor_gen.go(the only output ofgo generate ./...).mst/cbor_gen.gohas no in-repo generate directive, so it's correctly excluded. Verifiedmake gen-checkpasses on the current tree.publish-ghcr,releaser,release-binaries,release-check, ortagpush, and noversion.json/.goreleaser.yaml. ingot is treated as a library (matching the libforge/ucantone class) rather than a release-publishing service.Known limitation
ingot's
Makefileforcesexport GOWORK := off, andworkspace-testrunsmake test— so on ingot it tests against the published go.mod versions rather than the synthesizedgo.work, even when a sibling branch matches. It won't fail; it just won't perform the cross-repo integration the workflow is designed for. Making it fully effective would mean letting CI overrideGOWORK, which is a separate change.🤖 Generated with Claude Code
https://claude.ai/code/session_014wq5SR88MhpnVibs9EjQG4
Generated by Claude Code