Skip to content

ci: skip PR workflow runs triggered by igel-devin-ai - #357

Merged
AndreasIgel merged 1 commit into
java-helpers:mainfrom
igel-devin-ai:feature/skip-ci-for-devin-actor
Oct 22, 2026
Merged

AndreasIgel merged 1 commit into
java-helpers:mainfrom
igel-devin-ai:feature/skip-ci-for-devin-actor

Conversation

@igel-devin-ai

Copy link
Copy Markdown
Contributor

Makes every pipeline run on Devin-authored PRs wait for a maintainer action, instead of the opened run starting for free.

Why: PRs opened by igel-devin-ai auto-start CI even with "Require approval for all external contributors" enabled — the account has merged commits in this repo, so GitHub treats it as a trusted contributor (verified with two empty-commit test PRs after removing its collaborator role). The only remaining gate is the workflow itself.

What changes:

  • maven.yml and codeql.yml: the build/analyze jobs get if: github.event_name != 'pull_request' || github.actor != 'igel-devin-ai'. Runs sent by igel-devin-ai (the opened/reopened events on its PRs) show as neutral skipped; pushes on the same PRs are sent by devin-ai-integration[bot], which is NOT a trusted contributor and already waits for action_required approval. Guarded by event_name because on schedule events github.actor is the workflow file's last modifier — a blanket actor check could wrongly skip CodeQL's weekly run once this account touches the file.
  • fork-sonar.yml and fork-coverage.yml: same check on workflow_run.actor.login. A skipped CI run still concludes success, so without this they would fire and fail downloading the missing analysis-inputs/coverage artifacts.
  • dependency-review.yml untouched: pull_request_target runs in the base context anyway and only reads the diff.

Maintainer escapes: approving a bot push's action_required run executes CI normally (actor = bot); manually clicking Re-run jobs on a skipped run executes it under the maintainer's own actor.

This PR's own opened run demonstrates the behavior: Java CI and CodeQL will show skipped.

PRs opened by igel-devin-ai auto-start CI because the account is a
merged contributor and exempt from the external-contributor approval
gate. Skip the Java CI build and CodeQL analyze jobs for pull_request
runs sent by that actor (neutral 'skipped', not failed); pushes on the
same PRs are sent by devin-ai-integration[bot] and still wait for
maintainer approval, and a maintainer 'Re-run jobs' re-executes the
jobs under their own actor. The guard is scoped to pull_request so
schedule/push runs can never be attributed to the account.

fork-sonar and fork-coverage get the same check on the source run's
actor: a skipped CI run concludes 'success' and would otherwise fire
them only to fail on the missing artifacts.
@AndreasIgel
AndreasIgel merged commit a42ac90 into java-helpers:main Oct 22, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants