Skip to content

feat: support multi-module Go development in CI and update developer documentation#1155

Open
hanorik wants to merge 1 commit into
google:mainfrom
hanorik:ci_enhancement
Open

feat: support multi-module Go development in CI and update developer documentation#1155
hanorik wants to merge 1 commit into
google:mainfrom
hanorik:ci_enhancement

Conversation

@hanorik

@hanorik hanorik commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

This PR transitions the repository to a multi-module workspace to prevent heavy/optional dependencies from bloating the core ADK module.

Key Changes:

  • Dynamic CI Matrix: Upgraded .github/workflows to dynamically discover all go.mod files and run tests, linters, and govulncheck independently via matrix strategies.
  • Anti-Bloat Guardrail: Added a custom CI job preventing the core go.mod from accidentally importing internal submodules.
  • Documentation: Added "Multi-Module Development" guidelines to CONTRIBUTING.md and AGENTS.md.

Testing Plan:

  • Verified CI matrix discovery and bash guardrail scripts locally.

@hanorik
hanorik marked this pull request as ready for review July 15, 2026 17:47
@hanorik
hanorik requested a review from hyangah July 15, 2026 18:39
wolo-lab
wolo-lab previously approved these changes Jul 16, 2026

@wolo-lab wolo-lab 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. One comment from my side.

Please wait for the approval from Hana.

Comment thread .github/workflows/nightly.yml Outdated
wolo-lab
wolo-lab previously approved these changes Jul 16, 2026
Comment thread AGENTS.md Outdated
Comment thread AGENTS.md Outdated

@karolpiotrowicz karolpiotrowicz 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.

The "Multi-Module Development" section is duplicated verbatim between AGENTS.md and CONTRIBUTING.md, and the two copies have already drifted (step 7 differs: go build work in AGENTS.md vs go build ./... in CONTRIBUTING.md). To keep them from diverging further, could we keep a single source of truth — e.g. CONTRIBUTING.md owns the section and AGENTS.md links to it (or vice-versa)? That way there's only one place to update when the workflow changes.

A couple of specific inline notes below.

Comment thread CONTRIBUTING.md Outdated
Comment thread .github/workflows/go.yml Outdated
Comment thread .github/workflows/go.yml Outdated
@hanorik
hanorik force-pushed the ci_enhancement branch 2 times, most recently from 0026d56 to f28df9c Compare July 20, 2026 10:41
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.

4 participants