.github/workflows/run.yaml
on: push permissions: contents: write jobs: main: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: | echo "sample." >> text.txt git config user.name github-actions git config user.email github-actions@github.com git add . git commit -m "test" git push
解説
上記の例を実行すると,レポジトリのルートに text.txt
という名前のファイルが作成され,github-actions というユーザーでレポジトリに追加されます.
GitHub Actions の実行環境に,contents: write
権限を付与します.権限がなければ以下のようにエラーとなります.
remote: Write access to repository not granted. fatal: unable to access
'https://github.com/***/***********/'
: The requested URL returned error: 403
Assigning permissions to jobs - GitHub Docs
メールアドレス
github-actions@github.com
というメールアドレスが以下のドキュメントで使用されているので倣いました.実務上は問題なく動作しました.
GitHub - actions/checkout: Action for checking out a repo
ただし通常のユーザーと異なるようで,アイコンがなかったり詳細が表示されません.以下の issue で議論されていますが結論はでていないようです.
Set git user and email · Issue #13 · actions/checkout · GitHub