beet's soil

競プロのことなど

GitHub Actions から git push をする方法

メモ

GitHub Actions とは?

よくわからんけどCIができるらしい
help.github.com

プロジェクト例

master に pushすると last_commit.txt に最新の commit hash を書き込んで push し直すサンプル
無限ループにはならないようになってるっぽい(内部仕様のドキュメントどこにあるんだろ)
github.com

やりかた

まずは GitHub Actions のベータ版に申し込みます。
github.com

ワークフローを設定します とは言ってもyamlを置くだけです トリガーはとりあえずpushにしました
github.com

      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

の部分でトークンをシェルに渡しています。

シェルスクリプトを書きます
github.com

git remote set-url origin https://beet-aizu:${GITHUB_TOKEN}@github.com/beet-aizu/github_actions.git

の部分でいい感じにすることで認証されているっぽいです gitなんもわからん
ユーザー名とかURL変えれば他のプロジェクトでも動くと思います たぶん

Github Actionsの初期状態ではブランチがrefs/heads/masterとかいうよくわからないのになっているっぽいので
git checkout -b masterをします ここをdevelopとかにしたほうがいい場合がありそう

git add/commit をしたあと git push origin HEAD で push します うまくいけばうまくいきます うれしいね


GitHub Actions でライブラリの自動 verify に続きます(ほんとうに?