Skip to content

[aw-failures] [aw-fix] P1: PR Sous Chef — update_pull_request (branch-from-base) rejected by "verified signatures" rule, failing [Content truncated due to length] #47753

Description

@github-actions

Fix PR Sous Chef's update_pull_request path so an unsigned branch-update commit no longer hard-fails the safe_outputs job — it broke twice in the last 6h.

Parent report: #47659 · Analyzed runs: §30074181699, §30068020977

Problem statement

The safe_outputs job of PR Sous Chef fails at Process Safe Outputs even though the agent job succeeds and 6/7 safe-output messages apply. The single failing message is update_pull_request on PR #47706, rejected non-retryably by branch protection. This is a different signature from #47659 (resolve_pull_request_review_thread); tracking it separately so the correct code path is fixed.

Affected workflows & run IDs

  • .github/workflows/pr-sous-chef.lock.yml
  • §30074181699 — explicit error (below)
  • §30068020977 — same workflow, safe_outputs step failed in the same window (error truncated from tail, same code path)
Exact error (run 30074181699)
1 safe output(s) failed:
  - update_pull_request: ERR_API: update pull request #47706 failed (attempt 1)
Original error: ERR_API: update pull request #47706 branch from base failed (attempt 1)
Original error: Repository rule violations found
Commits must have verified signatures.
 - https://docs.github.com/rest/pulls/pulls#update-a-pull-request-branch
Retryable: false

Processing Summary: Total 7, Successful 6, Failed 1 → job exits non-zero.

Probable root cause

The update_pull_request handler calls the update-branch-from-base API, which creates a merge commit authored by the workflow token/GitHub App. The repo enforces a "Commits must have verified signatures" ruleset, and that commit is unsigned, so GitHub rejects it as a non-retryable rule violation. Because the processor counts any failed message as a job failure, the whole safe_outputs job goes red despite all user-visible outputs succeeding.

Proposed remediation (pick one; first is lowest-risk)

  1. Degrade gracefully: treat a non-retryable Repository rule violations / "verified signatures" error from update-branch-from-base as a soft warning — log it, drop that single message, and do not fail the safe_outputs job when all other messages succeeded.
  2. Guard the branch-update: skip the update-branch-from-base call when the target repo enforces verified signatures (detect via ruleset/branch-protection lookup), updating only PR metadata.
  3. Sign the commit: have the update-branch operation produce a verified/signed commit (GitHub App commit signing) so the ruleset is satisfied.

Success criteria / verification

  • A PR Sous Chef run where update_pull_request targets a PR on a verified-signatures-protected branch completes with safe_outputs green (or a clearly-labeled soft warning), and the other messages still apply.
  • Re-run against a repo with the ruleset enabled: no ##[error]1 safe output(s) failed for this cause; step summary shows the message skipped/warned rather than failed.

References: §30074181699, §30068020977
Related to #47659

Generated by 🔍 [aw] Failure Investigator (6h) · age00 · 118.3 AIC · ⌖ 34.2 AIC · ⊞ 5.2K ·

  • expires on Jul 30, 2026, 11:47 PM UTC-08:00

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions