Skip to content

ci: add workspace-test and codegen workflows to match fil-forge repos - #10

Merged
hannahhoward merged 2 commits into
mainfrom
claude/intelligent-darwin-hnzy7g
Aug 1, 2026
Merged

ci: add workspace-test and codegen workflows to match fil-forge repos#10
hannahhoward merged 2 commits into
mainfrom
claude/intelligent-darwin-hnzy7g

Conversation

@Peeja

@Peeja Peeja commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

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

File Purpose
.github/workflows/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). On a PR it detects sibling repos (libforge, ucantone, indexing-service) that share the branch name, synthesizes a go.work over them, and runs make test against it.
.github/workflows/codegen.yml Runs make gen-check to fail CI when committed generated code (bucket/cbor_gen.go) is stale.
Makefile New gen-check target backing the codegen workflow.

Deliberate deviations from a straight copy

  • codegen.yml is simpler than libforge's. libforge runs a codegen-build step because its generators sit behind a codegen build tag that the normal builds skip. ingot's generator (gen/main.go) is a plain package main already compiled by go-check/go-test, so that step is redundant and omitted.
  • gen-check is path-scoped to bucket/cbor_gen.go (the only output of go generate ./...). mst/cbor_gen.go has no in-repo generate directive, so it's correctly excluded. Verified make gen-check passes on the current tree.
  • Release/container suite intentionally left out — no publish-ghcr, releaser, release-binaries, release-check, or tagpush, and no version.json/.goreleaser.yaml. ingot is treated as a library (matching the libforge/ucantone class) rather than a release-publishing service.

Known limitation

ingot's Makefile forces export GOWORK := off, and workspace-test runs make test — so on ingot it tests against the published go.mod versions rather than the synthesized go.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 override GOWORK, which is a separate change.

🤖 Generated with Claude Code

https://claude.ai/code/session_014wq5SR88MhpnVibs9EjQG4


Generated by Claude Code

claude and others added 2 commits June 24, 2026 14:55
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>

@hannahhoward hannahhoward left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@hannahhoward
hannahhoward merged commit 769282a into main Aug 1, 2026
12 checks passed
@hannahhoward
hannahhoward deleted the claude/intelligent-darwin-hnzy7g branch August 1, 2026 05:12
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.

3 participants