GitHub Actionsを使ってGitHub Pagesを運用している。 定期的にあるAPIから情報を取得して、更新があったらレポジトリにpushする。そしてそのpushをトリガーにしてGitHub Pagesにサイトをデプロイする、というフロー。
これがついさっきいろいろコードを更新してたら動かなくなった。 自分でpushするときはデプロイ用のworkflowが動くけど、workflowからpushするときは動かないのだ。
動き的には、GitHub Actions動かすと自動で設定されるアクセストークンを利用している時のような動作だ。このトークンは、無限ループを防ぐためにpush時にworkflowがトリガーされない。
しかし、workflowの設定ファイルを見ても自分で用意した別のアクセストークンを利用している。
GitHubのフォーラムを探してみると、そのものズバリなトピックがあった。
結論から言うと、 actions/checkout
をv2に更新したのが原因だった。 v2からは後続のgitコマンドで、デフォルトのアクセストークンが使われるような設定になっていたのだ。
ということで actions/checkout@v2
の設定に persist-credentials: false
を設定したら復旧した
- name: Checkout
uses: actions/checkout@v2
with:
persist-credentials: false