Skip to content

Commit 394ff22

Browse files
committed
Fix v2 tag format: modules/<name>/<version>, not modules/<name>/v2/<version>
The submodule go.mod files live at modules/<name>/ (the /v2 is the SIV in the module path, not a directory), so Go resolves each module's version tag at <subdir>/<version> = modules/<name>/<version> (e.g. modules/aws/v2.0.0-beta.1). The workflow and runbook incorrectly put the /v2 in the tag itself (modules/aws/v2/v2.0.0-beta.1), which the module proxy cannot associate with the module path, so no consumer could resolve the tags. Caught by an end-to-end consumer test against the pushed beta tags: core (no cross-module deps) resolved, every other module failed with 'ssh/v2@v2.0.0-00010101...: unknown revision' because the placeholder-free tag was published under the wrong name. The proxy-verify URL is unchanged (it correctly uses the full module path, which does include /v2).
1 parent ce03a47 commit 394ff22

2 files changed

Lines changed: 9 additions & 6 deletions

File tree

.github/workflows/create-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ jobs:
116116
run: |
117117
set -e
118118
for path in $MODULE_PATHS; do
119-
tag="${path}/v2/${VERSION}"
119+
tag="${path}/${VERSION}"
120120
if [ "$DRY_RUN" = "true" ]; then
121121
echo "DRY-RUN would tag ${PINNED_SHA:0:12}: $tag"
122122
else

docs/v2-release-runbook.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,14 @@ build is validated continuously without committing the pin or needing tags.
6868

6969
## Tag push order
7070

71-
All tags point at the same release commit. Each tag name puts the `/v2` SIV in the
72-
tag itself: `modules/<name>/v2/<version>` (NOT `modules/<name>/<version>`, which
73-
the proxy cannot associate with the `/v2` module path). Push in dependency order:
74-
75-
1. `modules/core/v2/v2.0.0-beta.1`
71+
All tags point at the same release commit. The tag name is the module's
72+
on-disk subdirectory (which does NOT include the `/v2`, since `/v2` is only the
73+
SIV in the module path, not a directory) followed by the version:
74+
`modules/<name>/<version>`, e.g. `modules/aws/v2.0.0-beta.1`. Do NOT put the
75+
`/v2` in the tag (`modules/<name>/v2/<version>`), Go looks for the tag at
76+
`<subdir>/<version>` and will not find it. Push in dependency order:
77+
78+
1. `modules/core/v2.0.0-beta.1`
7679
2. helpers: `ssh`, `httphelper`, `dnshelper`
7780
3. tooling: `docker`, `packer`, `database`, `opa`
7881
4. platforms: `aws`, `azure`, `gcp`, then `k8s`, `helm`

0 commit comments

Comments
 (0)