GitHub Actions を fork して利用する

すでに存在している GitHub Actions で一部挙動を変えた上で実行したいものが出てきたが、
fork して利用する例が意外と出てこなかったので自分用のメモ
(もちろん Pull Request を出して機能を追加することができるならばそうするのが良いとは思っている)

steps:
    - uses: actions/checkout@v3
    # ...
    # ...
    # original/sample-action の fork の fork/sample-action を利用する
    - name: Run forked GitHub Actions
    uses: fork/sample-action@main

このように Repository を設定するだけで fork したものを見るようになってくれる。
ただし プライベート リポジトリ内のコンポーネントへのアクセスを許可する にもある通り、 fork が private リポジトリだった場合だけ注意が必要。

リポジトリの Settings > Actions > General で Access の制御が可能でデフォルトだと Not Accesible (つまりどのリポジトリからも参照できない) になっている模様。

ちなみに fork/sample-action@main の main の部分の仕様は アクションにリリース管理を使用する にもある通り

で参照することができる

余談

アクションの公開 から想像するに、どうやらマーケットプレイスに公開された GitHub Actions は何かしらのアーティファクトがアップロードされているとかではなくリポジトリ内にある情報を参照していそう。
故に owner/repo@ref の形式で実行することができちゃうのかなと思ったりした。