Skip to content

go.mod: 宣言バージョンをCI実態に合わせ go 1.21 に更新 (#21)#26

Merged
ieee0824 merged 1 commit into
masterfrom
chore/go-version-align
Jun 17, 2026
Merged

go.mod: 宣言バージョンをCI実態に合わせ go 1.21 に更新 (#21)#26
ieee0824 merged 1 commit into
masterfrom
chore/go-version-align

Conversation

@ieee0824

Copy link
Copy Markdown
Owner

概要

go.mod の宣言バージョンを、CI で実際にビルド/テストしている版に揃えます。

Closes #21

背景

  • go.mod は go 1.16 を宣言する一方、CI(.go-version)は 1.21.0 でビルド/テスト → 宣言最小と実テスト版が乖離(go.mod: 宣言バージョン(go 1.16)とCI/.go-version(1.21.0)の乖離 #21)
  • さらに全テストが t.Setenv(Go 1.17+)を使用しており、go 1.16 ではテストがそもそもビルドできない。よって「1.16 サポート」は実態として成立しておらず、issue の「1.16 マトリクス追加」案は実行不可能
  • → 唯一整合的な選択肢として、宣言を実テスト版に合わせる

変更点

  • go ディレクティブを 1.16 → 1.21(.go-version / CI と一致)
  • go mod tidy を実行し、間接依存(go-spew / go-difflib / yaml.v3)を明示。go.sum も整理(Go 1.17+ のモジュールグラフ刈り込みに対応)

検証

  • go build / go vet(tidy 後)/ go test / go test -race すべて ✅
  • go mod verify: all modules verified
  • ライブラリ本体のコードは概ね stdlib のみで、1.21 固有機能への依存を新たに追加するものではありません(あくまで宣言と実態の整合)

🤖 Generated with Claude Code

## 理由
go.mod が go 1.16 を宣言する一方、CI(.go-version)は 1.21.0 でビルド/テストして
おり乖離していた(#21)。さらに全テストが t.Setenv(Go 1.17+)を使用しており、
1.16 ではテストがビルドできないため「1.16 サポート」は実態として成立していない。
宣言を、実際にテストしている最小バージョンへ揃える。

## 修正点
- go ディレクティブを 1.16 -> 1.21 に更新(.go-version / CI と一致)
- go mod tidy により間接依存(go-spew / go-difflib / yaml.v3)を明示し、
  go.sum を整理(Go 1.17+ のモジュールグラフ刈り込みに対応)
@ieee0824 ieee0824 merged commit a608819 into master Jun 17, 2026
1 check passed
@ieee0824 ieee0824 deleted the chore/go-version-align branch June 17, 2026 06:44
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.

go.mod: 宣言バージョン(go 1.16)とCI/.go-version(1.21.0)の乖離

1 participant