Skip to main content

Dependabot でアクションを最新に保つ

Dependabot を使用して、使用するアクションを最新バージョンに更新しておくことができます。

Dependabot version updates のアクションについて

多くの場合、アクションはバグ修正と新機能で更新され、自動プロセスの信頼性、速度、安全性が向上しています。 GitHub Actions に対して Dependabot version updates を有効にした場合、Dependabot では、リポジトリの workflow.yml ファイル内のアクションとワークフロー内で使用される再利用可能なワークフローへのリファレンスが最新の状態に保たれるようになります。

Dependabot では、ファイル内のアクションごとに、アクションのリファレンス (通常、アクションに関連付けられているバージョン番号またはコミット ID) が最新バージョンと参照されます。 アクション作成者がアクションをバージョン管理する方法については、「Using release management for your custom actions」を参照してください。

より新しいバージョンのアクションが使用可能な場合、Dependabot によって、ワークフロー ファイル内のリファレンスを最新バージョンに更新する pull request が送信されます。 Dependabot version updates の詳細については「GitHub Dependabot のバージョンアップデートについて」を参照してください。 GitHub Actions のワークフローの構成の詳細については、「GitHub Actions について」をご覧ください。

Dependabot では、ワークフロー ファイルで再利用可能なワークフローの使用もチェックされ、再利用可能なワークフローと呼ばれるこれらの Git リファレンスが更新されます。 再利用可能なワークフローについて詳しくは、「ワークフローの再利用」をご覧ください。

注: Dependabot pull request によってトリガーされるワークフロー実行は、フォークされたリポジトリからのものであるかのように実行されるため、読み取り専用の GITHUB_TOKEN を使用します。 それらのワークフローの実行は、シークレットにはアクセスできません。 これらのワークフローをセキュリティで保護するための戦略については、「GitHub Actions のセキュリティ強化」を参照してください。

Dependabot version updates のアクションを有効化する

自分のアクションと、依存するライブラリとパッケージを維持するように Dependabot version updates を構成できます。

  1. 他のエコシステムまたはパッケージ マネージャーで既に Dependabot version updates を有効にしている場合は、既存の dependabot.yml ファイルを開くだけです。 それ以外の場合、リポジトリの .github ディレクトリに dependabot.yml 構成ファイルを作成します。 詳しくは、「Dependabot のバージョン アップデートの設定」を参照してください。
  2. "github-actions"package-ecosystem として指定して監視します。
  3. directory"/" に設定して、.github/workflows でワークフロー ファイルを確認します。
  4. schedule.interval を設定して、新しいバージョンを確認する頻度を指定します。
  5. リポジトリの .github ディレクトリにある dependabot.yml 構成ファイルを確認します。 既存のファイルを編集した場合は、変更を保存します。

フォークで Dependabot version updates を有効化することもできます。 詳しくは、「Dependabot のバージョン アップデートの設定」を参照してください。

GitHub Actions

dependabot.yml ファイルの例

次の dependabot.yml ファイルの例では、GitHub Actions のバージョン更新を設定しています。 .github/workflows でワークフロー ファイルを確認するために、directory"/" に設定する必要があります。 schedule.interval"weekly" が設定されています。 このファイルがチェックインまたは更新されると、Dependabot はアクションの新しいバージョンをチェックします。 Dependabot では、検出した期限切れのアクションに対してバージョン更新の pull request が生成されます。 初期バージョンの更新後、Dependabot では 1 週間に 1 回、期限切れのバージョンのアクションを引き続き確認します。

# Set update schedule for GitHub Actions

version: 2
updates:

  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      # Check for updates to GitHub Actions every week
      interval: "weekly"

Dependabot version updates のアクションを設定する

アクションに対して Dependabot version updates を有効にする場合は、package-ecosystemdirectoryschedule.interval の値を指定する必要があります。 バージョン更新をさらにカスタマイズするための設定オプションのプロパティは他にもたくさんあります。 詳しくは、「dependabot.yml ファイルの構成オプション」を参照してください。

参考資料