GitHub Actions で GitHub Container Registry にpushしたときに403 Forbiddenが出た時の対処法
GitHub Actions と GitHub Container Registry の組み合わせってあんまり美味しくないかもって思ってきた。
このcommit
add ghcr lastest · yoshiken/yoshiken.dev.python@cd50ff6
公式通りに実装したんだけど、 Error: buildx failed with: error: failed to solve: unexpected status: 403 Forbidden
って認証が通らなかった。
add ghcr lastest · yoshiken/yoshiken.dev.python@cd50ff6
解決策
I recently started to get this error too, but I found how to solve this.
Basically, seems that GitHub sneakily removed write_packages from GITHUB_TOKEN, but you can add it again by going to your package page, then in “Package settings” (the one in sidebar, not in the tab bar, as the later will redirect you to repository settings) and finally update the section named “Manage Actions access” to add your repository with write access again:
意訳: 最近になって再現しました。
GithubがサイレントにGITHUB_TOKENからwrite_packagesの権限削除したようです。(以下👇の手順の説明
とのこと。ドキュメントを確認しに行くと Maximum access by forked repos
がreadになっている。パッケージ側から許可しないとだめっぽい。
Automatic token authentication - GitHub Docs
(日本語だとテーブル崩れてるけど公式だと翻訳のContributing受け付けてないっぽいっぽいんだよねー)
ということで先程の手順を説明
packegeページからpackege setting
Manage Actions access から Add Repository
GitHub Actionsを回しているリポジトリを追加してwriteを選択。(defaultはreadになっているので注意
これでGithub上でrerunするなりempty commitするなりでGG