Background
Issue #8 is fixed with a correctness-first patch that includes nested go.mod and go.sum files whenever recursive Go source patterns may include files from nested modules. That preserves Go module boundaries inside the filtered source tree.
Follow-up optimization
The current quick fix can still upload and hash unrelated nested module source files when a parent module uses recursive patterns such as parent/**/*.go.
For large repositories with many nested Go modules, the better long-term behavior is for a parent module source mount to exclude nested module trees entirely unless they are explicitly reached through the include graph, such as a local replace, a supported go generate -C target, or an explicit include.
Desired behavior
- Parent module source includes its own files.
- Nested module subtrees are excluded from the parent module source by default.
- Nested modules still lint/test/generate as their own modules via modules / lintAll / testAll / generateAll.
- Explicit cross-module includes and local module dependencies continue to work.
Why
This should reduce unnecessary uploads, hashing, cache invalidation, and lint/test container input size while matching Go normal nested module boundary behavior more closely.
Related: #8
Background
Issue #8 is fixed with a correctness-first patch that includes nested go.mod and go.sum files whenever recursive Go source patterns may include files from nested modules. That preserves Go module boundaries inside the filtered source tree.
Follow-up optimization
The current quick fix can still upload and hash unrelated nested module source files when a parent module uses recursive patterns such as parent/**/*.go.
For large repositories with many nested Go modules, the better long-term behavior is for a parent module source mount to exclude nested module trees entirely unless they are explicitly reached through the include graph, such as a local replace, a supported go generate -C target, or an explicit include.
Desired behavior
Why
This should reduce unnecessary uploads, hashing, cache invalidation, and lint/test container input size while matching Go normal nested module boundary behavior more closely.
Related: #8