Skip to content

fix(ci): give changelog-reusable's guard job a timeout-minutes — the whole of the red on main - #995

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/changelog-guard-timeout-minutes
Sep 22, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
fix/changelog-guard-timeout-minutes

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What

One line: give changelog-reusable.yml's guard job a timeout-minutes: 10.

Why — this is the whole of the red on main

governance / Validate Hypatia Baseline is failing on main itself, not
only on PR branches. Measured at ed5e3f6 and d1bd7f4 (run 35770216122).

I originally misread that run's log: the line ERROR: could not resolve hypatia HEAD via git ls-remote is the step echoing its own source, not a failure.
The real error is:

##[error]Gate failed: 2 unfiltered finding(s) at or above 'info'.

Both unfiltered findings are the same defect, reported by two rule modules:

rule_module type file job severity
workflow_audit missing_timeout_minutes changelog-reusable.yml guard medium
workflow_hardening WH006 .github/workflows/changelog-reusable.yml:70 guard warn

Every other finding in that run carries baseline_status: acknowledged.
These two are the only "baseline_status": "new" entries, so they are the
entire gate failure.

Why it is unambiguous

The sibling job generate in the same file already declares
timeout-minutes: 10. guard was simply missed. Without it the job inherits
the 6-hour default, so a hung codeload fetch in its fetch-depth: 1 checkout
burns the budget. The fix is keyed in the same position as the sibling's.

Verification

  • actionlint -no-color → rc=0 (captured directly; a | tail pipe reports
    tail's status, which is how I have miscounted this before)
  • yq → jobs.guard.timeout-minutes = 10, jobs.generate.timeout-minutes = 10
  • git diff --stat → 1 file changed, 1 insertion(+) — nothing else touched
  • commit de771f5 signed, sig=G

⚠ What this does NOT claim

It does not claim to turn the gate green by itself. It removes the only two
unfiltered findings that run reported. The gate re-scans against the merge
commit and may surface findings this scan did not see.

Relationship to #990

#990's only red is this same pre-existing main failure — it is not
introduced by that PR. This PR is the cure for the red; #990 still carries
3 unresolved CodeRabbit findings and is a separate call.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ji1bq3TypfycfUPAR7hSxR

`governance / Validate Hypatia Baseline` has been RED on `standards` main
itself — measured at ed5e3f6 and d1bd7f4, run 35770216122. The gate's error
is `Gate failed: 2 unfiltered finding(s) at or above 'info'`, and both
unfiltered findings are the SAME defect reported by two rule modules:

  workflow_audit    missing_timeout_minutes  changelog-reusable.yml job `guard`
  workflow_hardening WH006                   changelog-reusable.yml:70   job `guard`

Every other finding in that run carries `baseline_status: acknowledged`;
these two are the only `new` ones, so they are the whole of the red.

The omission is unambiguous: the sibling job `generate` in the same file
already declares `timeout-minutes: 10`. `guard` was simply missed. Without
it the job inherits the 6-hour default, so a hung codeload fetch in its
depth-1 checkout burns the budget.

Fix is one line, keyed in the same position as the sibling's.

Verified before commit:
  - actionlint -no-color: rc=0 (captured directly, not through a pipe)
  - yq: jobs.guard.timeout-minutes = 10, jobs.generate.timeout-minutes = 10
  - git diff --stat: 1 file changed, 1 insertion(+) — nothing else touched

⚠ This does NOT claim to make the gate green by itself; it removes the only
two unfiltered findings that run reported. The gate re-scans on the merge
commit and may surface findings this scan did not see.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji1bq3TypfycfUPAR7hSxR
@coderabbitai

coderabbitai Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 35 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: cdccd351-ae0f-4910-b7bb-cad9b4c4a476

📥 Commits

Reviewing files that changed from the base of the PR and between ed5e3f6 and de771f5.

📒 Files selected for processing (1)
  • .github/workflows/changelog-reusable.yml

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 58aa824 into main Sep 22, 2026
45 checks passed
@hyperpolymath
hyperpolymath deleted the fix/changelog-guard-timeout-minutes branch September 22, 2026 19:55
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.

1 participant