5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitHubでforkしたリポジトリはデフォルトでActionsがdisableです

Last updated at Posted at 2021-06-01

はじめに

この記事はGitHubでforkしたリポジトリにて、GitHub Actionsを動かす方法を記録、共有するためのものです。

先に結論だけ

  • GitHubでActionsを設定したリポジトリをforkした場合、デフォルト設定ではアクションは不許可になっています。
  • Actionsを動かす場合、forkしたユーザーが許可しなければなりません。
  • これは悪意のあるアクションを防ぐためです。

GitHub Actionsとは

GitHub Actionsとは、GitHubが提供する仮想環境サービスです。

ユーザーはYAML形式で実行環境とアクションを記述し、一連のワークフローを作成します。特定のブランチにpushがあった、PullRequestが作成されたなどのイベントを引き金に、このワークフローが稼働します。

  • プルリクエストが作成されるとテストを実行する
  • mainブランチへのマージがあるたびにnpmへリリースする
  • 静的ファイルの更新のたびにS3へファイルをアップロードする

といった、CI/CDのための自動化処理が可能になります。

ワークフローはリポジトリ内で他のソースコードと同様に管理されます。そのため、チームメンバーで共有、改善ができます。

forkしたリポジトリのActions設定

公開リポジトリをフォークすると、デフォルトではActionsの実行が不許可になっています。fork元のリポジトリとおなじアクションを実行したい場合、ユーザーが許可しなければなりません。

Settingタブ → Actions → Actions Permissionsを表示し

  • Allow all actions
  • Allow select actions

のいずれかを選択しSaveします。

Allow select actionsにはチェックボックスがあります。このチェックボックスは

の実行をそれぞれ許可します。

なぜデフォルトが不許可なのか

Actionsは汎用的な仮想環境サービスです。そのためCI/CD以外の処理もワークフローとして記述できてしまいます。GitHubは目的外でのActionsの利用を規約で禁止しています。

ワークフローは様々なトリガーで実行され、時刻もトリガーになります。デフォルトで実行が許可されていたら、forkしただけでワークフローが実行されます。

悪意のあるユーザーがリポジトリに規約違反のワークフローを混入した場合、デフォルトで実行許可があるとforkしたユーザーも利用規約違反となります。こうした問題を回避するために、Actionsはデフォルトで不許可になっています。ユーザーは実行許可を出す前に、ワークフローの目的と内容をチェックしなくてはいけません。

以上、ありがとうございました。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?