GitHub ActionsからGitHub wikiを更新したいことがたまにあります。たとえば、何かのメトリクスを見やすく整形したものなど、repositoryのデータを何らかの形で加工したドキュメントを作りたいときです。コード生成したmarkdownドキュメントをコミットしてもいいですが、それよりはシンプルで運用が楽です。
今回は、GitHub repoで管理する原稿の文字数(など)を継続的に見れるページを作ると便利かなと思って作りました。自分一人だったらローカルで適当なツールを叩けばいいですが、同repoを見れる編集者にも共有したいとなると独立したページがあるほうが便利ですからね。
リポジトリはこんな感じです。
基本的には、 actions/checkout
を使って "${{ github.repository }}.wiki"
をcloneして編集してpushするだけです。 actions/checkout
を使うことで適切なGitHub access tokenが生成されて使われるので、private repoでもcloneしたりcommitしたりできます。
git configの user.email
が次のようになっており、少しトリッキーに見えるかもしれません。
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
しかし、このように設定することで実際のアカウントのメールアドレスを使うことなくGitHubのユーザーと適切にひも付きます。まあ、これはGitHub wikiに限らずGitHub Actionsからcommitするとき常に有効なハックですが。あとはまあ、YAMLに書いてあるとおりです。
Enjoy GitHub Actions!