GitHub Actions の checkout@v2 と access token 認証を合わせた結果ハマった
GitHub で作成した personal access token を用いてプライベートリポジトリを参照できるようにする方法の一つとして、以下によってリポジトリの URL を書き換えるというものがある。
code:sh
しかし、上記を GitHub Actions 上で用いると、git cloneは使えるがgit ls-remoteはRepository Not Foundと返されてしまった。(ls-remoteは npm 等が使用する)
原因は、その前で使用しているactions/checkout@v2が GitHub の credential を永続化し、それが上記のトークンを用いる認証よりも優先されてしまうためっぽい。特に v2 の仕様に依存していたわけではなかったので v1 にすることで回避した。
---
それはさておきcloneとls-remoteで認証の挙動が変わることに違和感がある。