継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

プライベートリポジトリの reusable workflows を共有して使う

タダです.

以前の記事でプライベートリポジトリにある自作の Actions を使う記事を書きました.この記事では同様にプライベートリポジトリにある reusable workflows を使うというのをやってみたので記事にします.

sadayoshi-tada.hatenablog.com

reusable workflows の利用におけるアップデート後の変化

昨年末にアナウンスがあったのですが,reusable workflow を同じ organization,個人アカウント,Enterprise で共有可能になったことが発表されました.これによってプライベートリポジトリ間で共通の reusable workflows を呼び出して使うみたいなことが可能になりました.

github.blog

呼び出される reusable workflows があるリポジトリ設定

実際に reusable workflow を呼び出そうと思いますが,事前準備として呼び出し元のリポジトリでアクセス許可設定を有効化します.次に reusable workflows として単純に渡された名前を出力するだけのを追加しておきます.

テスト用 reusable workflow(reusable-workflow-test.yml)

name: reusable workflow test

on:
  workflow_call:
    inputs:
      name:
        required: true
        type: string

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: echo Name
        run: echo "Your Name is ${{ inputs.name }}"

リポジトリGitHub Actions で reusable workflows を指定して利用する

別のプライベートリポジトリから reusable workflows を使ってみます.自分の名前を入れて,手動実行してみたところ期待通り出力されました.

name: call reusable workflow

on:
  workflow_dispatch:

jobs:
  reusableworkflowtest:
    uses: tasogare0919/xxx/.github/workflows/reusable-workflow-test.yml@main
    with:
      name: sadayoshi tada

手動実行結果

まとめ

プライベートリポジトリの reuseable workflows を別のプライベートリポジトリから呼び出して使ってみた経験を記事にまとめました.