`#times_kachick channel in chat` as a public repository. Personal Note and TODOs
6
stars
0
forks
source link
2023-09-27 - GitHub Actions で workflow ファイルを更新した commit を push しようとすると `refusing to allow a GitHub App to create or update workflow ... without workflows permission` とやらが出てくるのは push 時じゃなくて checkout 時に token を指定してやるといい #249
Closed
kachick closed 10 months ago
TL;DR
何についてか / About
ref: https://github.com/orgs/community/discussions/27072#discussioncomment-3254515
経緯 / History
以下書き殴り
GitHub Actions の中で別の workflow YAML を更新して commit を積んでPRを投げるみたいなのをやっていると、このエラーにあたった。 元々そういって出されたPRでCIを走らせるためにはGITHUB_TOKENじゃ不足なんで、こういう時定番の App を作ってそのApp から https://github.com/tibdex/github-app-token でテンポラリな token を払い出すようにはしていた。 その上でエラーが出続けるので今度は permission 周りを確認したんだけれど、workflow に対する write permission も付与してあるし push が出来ないのがよくわからない。 エラーメッセージでぐぐると https://github.com/orgs/community/discussions/27072#discussioncomment-3254515 等が出てきてなるほどだった。HTTPS経由での git push 時にちゃんとトークンが使われるようにすると直ったという話のようなので、さて書き換え必要なのかなーと思ったけれどそもそも普段のワークフロー考えるとgit clone 時にメソッド決まってそうなので、checkout action の段階で token 指定してやったらどうかと試すとそれで通った。(というかこの回答自体がそういう事を教えてくれてるんだなとそこでやっと確認できた) ということは https://github.com/actions/checkout/tree/v4/ はやっぱり SSH ベースなんだろうなぁと一応コード読んで確認しようと思ったんだけど、5分ぐらい読んでもなんかどこでコアな事やってるのか今一つピンとこない。 まぁとりあえず今後もどこかで同じ様な話に当たると思うので、その時はこれを思い出すようにする