Skip to content

ci: align Linux prepublish gate budgets - #284

Merged
ictechgy merged 6 commits into
mainfrom
ci/linux-prepublish-timeout-18
Aug 6, 2026
Merged

ci: align Linux prepublish gate budgets#284
ictechgy merged 6 commits into
mainfrom
ci/linux-prepublish-timeout-18

Conversation

@ictechgy

@ictechgy ictechgy commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • raise the Linux CI prepublish step budget from 15 to 18 minutes
  • raise the Ubuntu/Python 3.12 npm publish prepublish step from 15 to 18 minutes
  • keep commands, test coverage, matrix entries, smoke limits, and the npm job cap unchanged
  • make workflow timeout contracts exact-job scoped
  • refresh the frozen production inventory digest for the two intentional workflow content changes
  • unblock full provider-free receipt validation and its later release path without weakening gates

Evidence

  • Linux 3.12 hit the outer 15-minute step limit twice on run 31073227399
  • projected receipt prepublish runtime is about 893.7s, leaving only 6.3s under the old limit
  • npm publish uses the same Ubuntu/Python 3.12 full prepublish path before npm publication
  • independent review caught the original workflow-contract failure, CodeRabbit caught two test-contract gaps, and full prepublish caught the frozen inventory digest; all have verified fixes

Verification

  • workflow tests plus Stage 2 inventory tests — 11/11 passed
  • exact-head local prepublish — 1447 tests passed, 1 skipped, 592.979s
  • exact-head release smoke passed
  • exact-head CI run 31079778871 passed: Linux 3.11 10m46s, Linux 3.12 13m24s, macOS/Swift 15m32s
  • both workflow YAML files parsed successfully
  • exact-job mutation check rejects wrong target timeouts despite matching decoy jobs
  • restoring only the two workflow content hashes reproduces the prior frozen inventory digest exactly
  • git diff --check origin/main...HEAD passed
  • changed paths are the two workflows and their two contract-test files only
  • independent final review: C0/H0/M0/L0, approve

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The CI and npm publish workflows increase the prepublish release gate timeout from 15 to 18 minutes. Workflow tests now parse named jobs and validate Ubuntu, macOS, and publish timeout values separately.

Changes

CI release gate

Layer / File(s) Summary
Prepublish timeout updates
.github/workflows/ci.yml, .github/workflows/npm-publish.yml
Both workflows increase the prepublish release gate timeout from 15 to 18 minutes.
Job-specific timeout validation
tests/test_workflows.py
The tests parse named workflow jobs and validate 18-minute prepublish gates plus smoke-test timeouts of 5 minutes on Ubuntu and 8 minutes on macOS.

Estimated code review effort: 2 (Simple) | ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the Linux prepublish gate budget alignment, which matches the primary workflow change.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/linux-prepublish-timeout-18

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/test_workflows.py`:
- Around line 107-112: Update the test around the ubuntu_job and macos_job
extraction to isolate the exact test-and-prepublish and
test-and-prepublish-macos job blocks before asserting step timeouts. Parse the
jobs mapping or use bounded extraction between named job markers so matching
text from unrelated jobs cannot satisfy the assertions.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a157cc0c-4412-4b52-a9a9-5b2b1e9dc858

📥 Commits

Reviewing files that changed from the base of the PR and between 45106cc and 617faab.

📒 Files selected for processing (1)
  • tests/test_workflows.py

Comment thread tests/test_workflows.py Outdated
@ictechgy ictechgy changed the title ci: allow Linux prepublish gate 18 minutes ci: align Linux prepublish gate budgets Aug 6, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tests/test_workflows.py`:
- Line 98: Extend the publish-job assertion in the relevant test to match the
exact release_smoke.py step sequence and its 5-minute timeout, in addition to
the existing prepublish_check.py assertion. Keep the assertion anchored to
publish_job so changes to the npm publish smoke limit fail the test.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a78a670a-c347-4808-8dcf-b677cbcb31e0

📥 Commits

Reviewing files that changed from the base of the PR and between 617faab and 2a11167.

📒 Files selected for processing (2)
  • .github/workflows/npm-publish.yml
  • tests/test_workflows.py

Comment thread tests/test_workflows.py
@ictechgy
ictechgy merged commit f2a1001 into main Aug 6, 2026
4 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.

1 participant