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
* fix: move WaitGroup.Add inside watch() to fix Go 1.25 vet check
Go 1.25 added a vet check that flags WaitGroup.Add called from inside
a new goroutine. Move wg.Add(1) from the goroutine callback into the
watch() method itself, keeping it paired with its defer wg.Done().
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: revise update-go-version skill per review feedback
- Skill now calls tools/upgrade-go-version.sh for CI/Dockerfile/release
updates instead of duplicating its logic
- go directive only updated when a dependency or language feature
requires it (not automatically on every minor bump)
- toolchain directive updated on every bump (patch and minor)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: make upgrade-go-version.sh portable across macOS and Linux
Use sed -i.bak instead of sed -i for cross-platform compatibility.
BSD sed (macOS) requires a backup extension with -i, while GNU sed
(Linux) treats it as optional. The .bak files are cleaned up after.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Update golang version to 1.25.7
* Update Go toolchain to go1.25.7
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .claude/skills/update-go-version/SKILL.md
+64-99Lines changed: 64 additions & 99 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,43 +39,41 @@ Report these to the user before making changes.
39
39
40
40
### 2. Determine bump type
41
41
42
-
Compare the target version against the current `go` directive in `go.mod`:
42
+
Compare the target version against the current `toolchain` directive in `go.mod`:
43
43
44
-
-**Same minor** (e.g. current `go 1.25.0`, target `1.25.7`): this is a **patch bump**. Only the `toolchain` directive and build/CI files need updating. The `go` directive stays as-is.
45
-
-**Different minor** (e.g. current `go 1.24.6`, target `1.25.7`): this is a **minor bump**. Both the `go` directive and `toolchain` directive need updating, plus build/CI files.
44
+
-**Same minor** (e.g. current `toolchain go1.25.3`, target `1.25.7`): **patch bump**. Only the `toolchain` directive and build/CI files need updating.
45
+
-**Different minor** (e.g. current `toolchain go1.24.9`, target `1.25.7`): **minor bump**. The `toolchain` directive and build/CI files need updating. Ask the user whether to also update the `go` directive (see step 4).
46
46
47
47
Tell the user which type was detected before proceeding.
48
48
49
-
### 3. Update go.mod and go.work files
49
+
### 3. Run the upgrade script
50
50
51
-
**Important:** Do NOT run `go mod tidy` or `go work sync` manually. Step 7 handles module synchronization correctly using `make go/mod`.
51
+
The `tools/upgrade-go-version.sh` script handles CI, Dockerfile, and release config updates. It also creates a git commit with those changes:
52
52
53
-
#### For a minor bump
54
-
55
-
The `go` directive sets the minimum compatible version, the `toolchain` directive sets the exact build version. They MUST be different to prevent Go from dropping the `toolchain` line.
56
-
57
-
- Set `go` directive to `X.Y.0` (the base of the new minor)
58
-
- Set `toolchain` directive to `goX.Y.Z` (the exact target patch version, which must be > X.Y.0)
59
-
60
-
Use two separate `go mod edit` calls to ensure the toolchain line is preserved:
61
53
```bash
62
-
go mod edit -go=X.Y.0 <file>
63
-
go mod edit -toolchain=goX.Y.Z <file>
54
+
bash tools/upgrade-go-version.sh X.Y.Z
64
55
```
65
56
66
-
If using a single `go mod edit -go=X.Y.0 -toolchain=goX.Y.Z` and both values are the same, Go will DROP the toolchain line. Always ensure they differ.
57
+
This updates and commits:
58
+
-`.github/workflows/*.yml` — `go-version:` values
59
+
-`.goreleaser.yaml` — version check hook
60
+
-`.pyroscope.yaml` — `ref:` for Go stdlib source linking and `GO_VERSION`
-**Minor bump**: update the `go` directive to `X.Y.0` in all go.work files, and update the `toolchain` directive to `goX.Y.Z` in the root `go.work`.
100
-
-**Patch bump**: update only the `toolchain` directive to `goX.Y.Z` in the root `go.work`. Do not touch example go.work files (they have no `toolchain` line).
101
-
102
-
### 4. Update CI workflows
87
+
**go.work (root only — use `go work edit`):**
88
+
-`go.work`
103
89
104
-
Update `go-version:` in all GitHub Actions workflow files to the exact target version `X.Y.Z`. The version may be quoted or unquoted:
0 commit comments