Skip to content

ci(github-runner): dependabotとrenovateによるPRビルドを許可#641

Merged
ncaq merged 1 commit intomasterfrom
allow-run-self-hosted-runner-by-bot
Feb 24, 2026
Merged

ci(github-runner): dependabotとrenovateによるPRビルドを許可#641
ncaq merged 1 commit intomasterfrom
allow-run-self-hosted-runner-by-bot

Conversation

@ncaq
Copy link
Owner

@ncaq ncaq commented Feb 24, 2026

close #636

  • push.ymlとjob-started-hook.tsで信頼できるbot(dependabot, renovate)のPRを許可
  • PRイベント時、user.loginでbot判定し許可するロジックを追加
  • OWNER以外のPRでも信頼できるbotならビルドが実行されるように変更
  • これでflake.lockの更新など時間のかかるビルドも裏で自動実行されるようになる
  • それによりx64のhome-managerのビルドなどは必須にできて漏れが少なくなる

- push.ymlとjob-started-hook.tsで信頼できるbot(dependabot, renovate)のPRを許可
- PRイベント時、user.loginでbot判定し許可するロジックを追加
- OWNER以外のPRでも信頼できるbotならビルドが実行されるように変更
- これで`flake.lock`の更新など時間のかかるビルドも裏で自動実行されるようになる
- それによりx64のhome-managerのビルドなどは必須にできて漏れが少なくなる
@ncaq ncaq self-assigned this Feb 24, 2026
Copilot AI review requested due to automatic review settings February 24, 2026 00:27
@ncaq ncaq added Type: Feature New Feature Type: CI Changes to CI configuration files and scripts labels Feb 24, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Dependabot/Renovateが作成したPRでも、セルフホステッドランナー上の重いNixビルドを自動実行できるようにして、依存関係更新(例: flake.lock更新)の検証漏れを減らすための変更です。

Changes:

  • ワークフロー(job if条件)で、PR作成者がdependabot/renovateの場合も重いビルドを実行するよう許可
  • ランナー側のjob-started-hookでも、PR作成者が信頼できるbotの場合を許可して多層防御の整合性を維持

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
nixos/host/seminar/github-runner/job-started-hook.ts PRイベント時にpull_request.user.loginを参照し、dependabot/renovateのPRを許可
.github/workflows/push.yml build-home-managerbuild-nix-on-droidの実行条件にdependabot/renovateを追加

@claude
Copy link
Contributor

claude bot commented Feb 24, 2026

コードレビュー結果

全体的に良く実装されたPRです。多層防御(ワークフローのif条件 + ランナー側のjob-started-hook)が一貫して維持されており、セキュリティ設計が堅実です。

良い点

  • user.loginによる判定は適切。GitHubのイベントペイロードは信頼できるソースであり、[bot]サフィックスはGitHub Appにのみ付与されるため偽装不可
  • TypeScript側でtrustedBotsSetとして定義しており、保守性が高い
  • sender.loginではなくpull_request.user.loginを使用している点も正しい判断(re-runで変わりうるsenderと異なり安定)

特筆事項

push.ymljob-started-hook.tsの信頼botリストの二重管理: 両ファイルでdependabot[bot]renovate[bot]を独立して定義しているため、将来botを追加・変更する際に片方だけ更新して乖離するリスクがあります。フック側が多層防御として機能しているため実害は限定的ですが、留意点として記録しておきます。

パフォーマンス・ドキュメント: 問題なし。

@ncaq ncaq merged commit 08ac504 into master Feb 24, 2026
12 checks passed
@ncaq ncaq deleted the allow-run-self-hosted-runner-by-bot branch February 24, 2026 00:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Type: CI Changes to CI configuration files and scripts Type: Feature New Feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

依存関係の更新botがセルフホステッドランナーを自動実行可能にする

2 participants