You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
CI: lambda/* module tests don't run (root go test ./... skips submodules) #136
CI's Test job runs go test -short -coverprofile=coverage.out ./... from the root module only (.github/workflows/ci.yml:35). spawn has 11 separate Go modules under lambda/ (each its own go.mod), and go test ./... does not descend into them — so none of the Lambda modules' tests run in CI, and their code is invisible to codecov.
codecov patch-coverage is misleading: changes in lambda/* show as 0% / untracked because the test job never enters those modules.
Fix options
Matrix / loop over modules in the Test job: discover lambda/*/go.mod and go test ./... in each (and merge coverage profiles). Simplest, keeps modules independent.
A make test-all target that walks every module (go list -f '{{.Dir}}' -m won't cross modules; use a find . -name go.mod loop) and run that in CI.
Go workspace (go.work) — but that changes local dev ergonomics and the replace setup; probably more than needed.
Recommend option 1 or 2. Should also feed each module's coverage to codecov so lambda/* patches are measured.
Found via
#135 (account-name CNAME) — its Substrate Route53 test in lambda/dns-updater revealed the job never runs lambda-module tests.
Activity
fix(lambda): go mod tidy stale modules surfaced by CI (#136)
fix(scripts): make the hand-written Lambda deploys safe and verifiable
fix(scripts): make the hand-written Lambda deploys safe and verifiable (
fix: wire LogRetentionDays into every deploy path's parameters
fix(lambda): bound log retention, and gate that every deploy path set…
build: make check runs the nested-module loop, via the script CI uses (…
fix(deploy): discover deploy scripts instead of listing them, and fix…