GeekFactory

int128.hatenablog.com

Renovate で organization private repository を参照する

Renovate の GitHub Releases Datasource で Organization 内の Private repository 間の参照を試したところ、普通にちゃんと動きました。ある Private repository で新しいバージョンをリリースした契機で、別の Private repository にあるマニフェストを自動的に更新するといった使い方ができそうです。

試したこと

以下の Private repository があるとします。

  • example-org/repo-a
  • example-org/repo-b

どちらにも Renovate App をインストールしておきます。

既存リリースの作成

example-org/repo-b で新しいリリース v1.0.0 を作成しておきます。内容はなんでも構いません。

バージョン参照と Renovate config の作成

example-org/repo-a の README に適当な文字列を埋め込んでおきます。

repo-b-version: v1.0.0

example-org/repo-a で以下の Renovate config を作成します。

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "regexManagers": [
    {
      "description": "Try another private repository in an organization",
      "fileMatch": ["^README.md$"],
      "matchStrings": ["repo-b-version: (?<currentValue>.+?)\\n"],
      "depNameTemplate": "example-org/repo-b",
      "datasourceTemplate": "github-releases"
    }
  ]
}

example-org/repo-aDependency Dashboardv1.0.0 が認識されていることを確認します。

新規リリースの作成

example-org/repo-b で新しいリリース v1.1.0 を作成します。内容はなんでも構いません。

example-org/repo-aDependency Dashboard でバージョンを v1.1.0 に上げる Pull Request が現れることを確認します。