固定した mise のバージョンを multi-gitter でまとめて更新する
GitHub Actions で mise-action を使うときの再現性のために mise のバージョンを固定したのだが、これによって、mise のバージョンを更新する手間が生じるようになった。同じことをやっているリポジトリが複数ある場合、リポジトリの数だけ作業を繰り返す必要があり非常に面倒。
同じ操作を繰り返すだけの単純作業なので、まとめて更新したいと思い調べていたところ、multi-gitter というツールを見つけた。複数のリポジトリでコマンドを実行して、ファイルが正常に更新されたらその内容を push するという、今回の目的にはまさにぴったりなものだった。
#!/bin/shMISE_VERSION="$(curl -s https://mise.jdx.dev/VERSION)"MISE_VERSION="$MISE_VERSION" multi-gitter run "./mise-up-internal.sh" \ --token "$(gh auth token)" \ --repo org/repo --repo ... \ -m "Bump mise version to $MISE_VERSION" --skip-pr#!/bin/shperl -i -pe "s/^(\s*version:\s*)[0-9.]+/\${1}$MISE_VERSION/" .github/actions/setup-mise/action.yml--token には事前に gh auth login でログインして用意しておいたアクセストークンを渡している。今回は個人用なのでデフォルトブランチに直で push しているが、Pull Request を作成することもできる。
これで、リポジトリがいくら増えても大丈夫そう。