Skip to content

ci: add reusable cross-repo workspace test workflow#39

Merged
Peeja merged 1 commit into
mainfrom
petra/chore/cross-repo-ci
Jun 19, 2026
Merged

ci: add reusable cross-repo workspace test workflow#39
Peeja merged 1 commit into
mainfrom
petra/chore/cross-repo-ci

Conversation

@Peeja

@Peeja Peeja commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Add go-workspace-test.yml, a reusable (workflow_call) workflow that tests a repo against its fil-forge sibling repos' matching branches, plus a thin caller.

When a PR's branch name also exists on a sibling repo this module depends on, the workflow clones those matching-branch siblings, synthesizes a go.work over them, and runs the repo's own make test against the integrated workspace. This will show a nice green/red for the workspace version, and still show the (presumably) red for the non-workspace version, signaling that it's not ready to merge yet because the dependencies haven't merged.

Note that, for simplicity, this setup always uses make test, which is not always what runs during "normal" CI. But it's close enough, and we'll get "normal" CI also in the end.

libforge hosts the reusable workflow; sibling repos call it. (PRs adding that are broken until this one lands.)

Add `go-workspace-test.yml`, a reusable (workflow_call) workflow that tests a
repo against its fil-forge sibling repos' matching branches, plus a thin caller.

When a PR's branch name also exists on a sibling repo this module depends on
(coordinated change sets share a branch name), the workflow clones those
matching-branch siblings, synthesizes a go.work over them, and runs the repo's
own `make test` against the integrated workspace. The matching repos appear in
the check name on the PR. When no sibling has a matching branch, the test job is
skipped — the normal per-repo go-test.yml already covers that case.

This is informational feedback, not a merge gate: go.mod stays on the published
sibling versions until they land, so go-test.yml remains the real blocker. The
job is not posted as a status and should not be a required check.

libforge hosts the reusable workflow; sibling repos call it at @v1.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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