O hirunewani blog

prCreationがnot-pendingになっているGithubリポジトリでRenovateが動作しなくなっていた

Created at

RenovateがPRを作成するタイミングをnot-pendingにしている場合、Githubのブランチプロテクションでpull_requestトリガーのGithub Workflowを必須にしているとPRが作成されなくなることについて説明する。l

Table of Contents

Renovateに"prCreation": "not-pending"が設定された状態で、Githubのブランチプロテクションでpull_requestトリガーのGithub workflowを必須にしている場合、PRが作成されなくなる。

Why

renovate.jsonに次のように指定すると、ブランチが作成されてからCIなどのステータスチェックが完了するのを待ってからRenovateがPRを作成するようになる。

{
  "prCreation": "not-pending"
}

次のようなpull_requestトリガーのGithub workflowは、pull_requestが作成された際に実行される。

name: Test
on:
	pull_request

Githubのブランチプロテクションで設定されたステータスチェックは、そのステータスを発生させるCIなどが動作していなくても、pendingでステータス一覧に表示される。

つまりpull_requestトリガーのGithub workflowを登録していると、PRを作成していない状態で常にpending状態のステータスチェックが残るため、not-pendingである場合、RenovateがPRを作成出来なくなる。