Fork先のリポジトリでGitHubActionsのワークフローを有効化する方法 - KatLab-MiyazakiUniv/etrobocon2020 GitHub Wiki

はじめに

以下の方法が正しい方法かどうかは知りません...

手順

1. リポジトリを Fork して Clone

etrobocon2020Fork した後、Fork 先のリポジトリを Clone します。

$ git clone https://github.com/[自分のGitHubユーザ名]/etrobocon2020.git

上記のURLの[自分のGitHubユーザ名]がきちんと自分のユーザ名になっていれば大丈夫です。

2. Fork したリポジトリの Webページから GitHub Actions を有効化する

通常、Fork先のリポジトリでは GitHub Actions が無効となっているので、有効化する必要があります。

【画像】詳しい手順を見るにはここをクリック!!!

2.1

有効化手順01

ブラウザからFork先のリポジトリのページを開き、「Actions」と表示されているタブを開きます。

その後、画面中央にある緑色のボタンをクリックします。

2.2

有効化手順02

上記の画像のような画面が表示されたら GitHub Actions の有効化は完了です。

3. GitHub Actions のファイルを適当に変更して Commit & Push

Fork 先のリポジトリの場合、.github/workflowsディレクトリにワークフローファイルが存在しても通常は動作しないようです。

しかし、当該リポジトリの所有者が作成又は変更を加え、CommitそしてPushしたワークフローファイルは、それ以降動作するようです。

また、一度動作したワークフローファイルは、そのワークフローファイルに変更を加えたCommitの内容をワーキングツリーから削除し再度Pushしても動作し続けるようです。

この仕様(?)のおかげで、Commit 履歴を汚さずに Fork 先のリポジトリでも GitHub Actions を動作させることができます。

以下に、実際の手順を示します。

3.1 etrobocon2020 があるディレクトリに移動

Windows10(WSLを使用) の場合は、以下のコマンドで移動できると思います。

$ cd ~/etrobo/workspace/etrobocon2020  # 移動

3.2 ステージングしたファイルが何もないことを確認する

ステージング (git add) したファイルが何もないことを確認します。

以下のように表示されていればとりあえず大丈夫です。

$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

3.3 ワークフローファイルに適当な変更を加えて Fork したリポジトリに Push する

以下の例では、ワークフローファイルの末尾に改行を加えています。

[ブランチ名] の部分は、現在のブランチ名に置き換えてください。

$ echo "" >> .github/workflows/google-test.yaml  # ワークフローファイルの末尾に改行を追加
$ git add .github/workflows/google-test.yaml  # ワークフローファイルをステージング
$ git commit -m "tmp: 適当なCommitメッセージ"  # Commit
$ git push origin [ブランチ名]  # Push

3.4 上記の Commit(変更)を取り消して Push

先ほどのファイルの変更はただ単に改行を追加しただけで、意味のないものです。

このような履歴を残しても邪魔なだけなので、Commit(変更)を取り消して Push します。

git reset --hard HEAD^  # 直前の Commit を無かったことにする
git push origin master -f  # 無理やり Push する

以上で完了です。 以降は、Push 時に GitHub Actions が走ってくれるはずです...

動作の確認

以下の画像のようになっていたら正常に動作していると考えられます。

実際に動作した場合の画面

⚠️ **GitHub.com Fallback** ⚠️