CI で `go mod tidy` を実行して差分が出たらコケるようにして気づかせるとかでいいだろうか。
— すぱぶら (Kazuki Suda) (@superbrothers) April 22, 2020
go mod tidy
コマンドを実行したあとで go.sum
ファイルに差分が出ていればエラーで終了するタスクを CI に組み込めば、実行するのを忘れていても CI で気づけます。
go mod tidy && git diff --no-patch --exit-code go.sum
git diff
コマンドのオプションは、「--no-patch
で差分を出力しない」、「--exit-code
で差分があれば終了コードを 1
にする」です。
例えば GitHub Actions で実行する場合は次のようにします。
name: CI
on:
push:
branches: [master]
tags: ["v*"]
paths-ignore: ['**.md']
pull_request:
types: [opened, synchronize]
paths-ignore: ['**.md']
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: "~1.13.10"
- name: Ensure go.mod is already tidied
run: go mod tidy && git diff -s --exit-code go.sum