🤖

GitHub Actions で container を利用した job の中で git コマンドを利用する方法

2023/10/07に公開

概要

GitHub Actions にて container を利用して job を起動した場合、その job 内で git fetch などのコマンドを用いると以下のエラーが出てしまいます。

fatal: detected dubious ownership in repository at '/__w/xxxxx/xxxxx'
To add an exception for this directory, call:

	git config --global --add safe.directory /__w/xxxxx/xxxxx
Error: Process completed with exit code 128.

以下の Issue でも議論されています。
https://github.com/actions/runner-images/issues/6775

こちらは、デフォルトで設定されている actions/checkoutset-safe-directory: true が container 内に引き継げていないため発生しているものになります。

Git のバージョン更新でも解決したとの報告もありますが、今回は利用している container に手を加えることが出来なかったため、手動で set-safe-directory を設定することで対応しました。
以下の step をgit コマンドを利用する前に実行しています。

run: git config --global --add safe.directory /__w/< GitHub レポジトリ名 >/< GitHub レポジトリ名 >

関連リンク

https://github.com/actions/checkout/issues/915

Discussion