昔作った Go のリポジトリに go.mod を追加して goreleaser を導入したメモ

at 2022-03-02 03:01 (UTC)

pinzolo/spwd: Secret file based password management tool. という昔作った command line tool がある。

自分では便利に利用しているのだが、Go のバージョンアップなどの対応を放置していた。

なので、ローカルの Go を最新に挙げたと同時に go.mod の対応を行うことにした。

すでに go.mod 作ってあるリポジトリも持ってるけど、Go 1.17 になってからは多分初めての作業なのでメモしておく。

まずは go.mod を作る。

$ go mod init

現在使用されている依存関係を go.mod に追加する。これで go.sum が作られる。

$ go mod tidy

はい、とても簡単。Support go.mod · pinzolo/spwd@4d2e091

次に goreleaser をインストール

$ brew goreleaser/tap/goreleaser

結構時間がかかったが特に問題なくインストール

.goreleaser.yml を作成する

$ goreleaser init

中身をざっと見るとよく使用される基本的な設定がされているので変更の必要は無かった。

Github でアクセストークンを作成して GITHUB_TOKEN としてローカルに環境変数を設定

$ git tag v1.3.0
$ git push origin v1.3.0
$ goreleaser --rm-dist

これで Github に release された。Release v1.3.0 · pinzolo/spwd

うーむ楽だ

次は Travis CI から Github Actions への移行だな