Skip to content

ci: refresh the shared shard durations from Ubuntu and macOS logs - #8465

Merged
lidge-jun merged 1 commit into
devfrom
ci/macos-durations-refresh
Nov 10, 2026
Merged

lidge-jun merged 1 commit into
devfrom
ci/macos-durations-refresh

Conversation

@lidge-jun

@lidge-jun lidge-jun commented Nov 10, 2026 •

Copy link
Copy Markdown
Owner

Summary

macos 3/4 in dev batch 42721779341 (8cab704) was cancelled at its 20-minute job limit in batch 63/72, with no failing test. The same shard took 19.5 minutes in batch 42694893702. Linux and macOS shards share scripts/ci/test-durations.tsv, and the current table was read from Ubuntu logs only, so files that cost much more on macOS land wherever the Linux weights put them. The planner predicted 794 s (13.2 min) per macOS shard; shards 1, 2 and 4 used about 15 to 16 minutes of tests, and shard 3 needed more than 18. The largest gaps are codex-integration/codex-cli-update-apply (177 s on macOS, 2.2 times its row), and codex-cli-update-process-fixture and clients/link-ocx-child-e2e, which take 20 to 30 s on macOS and almost nothing on Linux.

This refreshes the shared table as scripts/ci/test-durations.ts prescribes, from the passing test 1-5/5 and macos 1-4/4 jobs of one lane=all run (42694893702 on 4b38e9a, all nine jobs green): 3022 rows, all measured. A file measured on both platforms records the mean of its samples. The table is a pinned release-evidence input, so this also appends a ci v1 entry to .github/scripts/release-evidence-policy.json, identical to the latest one except scripts/ci/test-durations.tsv (6ff82545…), keeping earlier entries (same procedure as #8463). The planner, shard counts and job limits are unchanged.

Verification

  • Planner simulation (heaviest file first onto the least-loaded shard, as run-bun-test-batches.sh assigns), costed with the per-file macOS times measured in batch 42721779341 (falling back to 42694893702): the current table plans macOS shards at 15.6 / 15.3 / 19.2 / 15.8 min of tests, so shard 3 leaves no room for setup under the 20-minute limit; the refreshed table plans 16.8 / 16.1 / 16.4 / 16.6 min. Linux shards, costed with their own measured times: 7.7 / 6.6 / 7.6 / 6.9 / 7.7 min before and 6.3 / 7.8 / 7.5 / 7.4 / 7.5 min after.
  • node .github/scripts/release-evidence.cjs policy-check: fingerprints match. node --test .github/scripts/release-evidence.test.cjs: 25 pass, 0 fail.
  • bun test over the eight tests/ci-workflows/ files that read the duration tables or the policy (ci-shard-balance, ci-test-lane, ci-workflows, ci-scope-reduction, ci-crash-disposition, release-preflight, release-pipeline-contract, release-resume-identity), isolated HOME: 295 pass, 0 fail.
  • NOT RUN: a macOS batch on this table. The next dev lane=all batch is the proof; the plan leaves about 3 minutes of headroom per macOS shard after setup.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed. (CI data only)
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults. (timings and test paths; the policy entry changes one pinned digest)

Summary by CodeRabbit

  • Chores
    • Updated internal CI evidence records to reflect current versions of workflow and tooling files. This update changes release verification metadata only; it does not add or remove product features or alter user-facing behavior. No changes to public interfaces are included.

macos 3/4 hit its 20-minute limit in dev batch 42721779341 because the
shared table was read from Ubuntu logs only. Refresh it from the passing
test N/5 and macos N/4 jobs of run 42694893702, as the durations tool
prescribes, and pin the new table in the release evidence policy.
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner November 10, 2026 00:07
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-10T00:08:24.886631Z f479810 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

Copy link
Copy Markdown
Contributor

✅ Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the chore Maintenance, CI, tests, refactors, or build changes (not a user-facing bug or feature). label Nov 10, 2026
@coderabbitai

coderabbitai Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The release evidence policy adds a version-1 CI entry. It lists CI-related files and updates hashes for scripts/ci/test-durations.tsv and scripts/generate-ocx-skill-surface.ts.

Changes: CI evidence policy

Layer / File(s) Summary
Add CI policy entry
.github/scripts/release-evidence-policy.json
Lines 273–304 add a version-1 ci entry with hashes for CI-related files. The hashes for scripts/ci/test-durations.tsv and scripts/generate-ocx-skill-surface.ts differ from the preceding CI entry.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Suggested labels: chore, ci:full

Merge Risk: Minimal · up to f4798

The refreshed timings are intended to balance CI shards. No merge-blocking issue is established, although a macOS batch has not yet run with the new table.

Pre-merge checks: Passed 5

Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly describes the main change: refreshing shared shard durations from Ubuntu and macOS logs.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
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.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

Finishing Touches

Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Recent review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 8cab704 and f479810.

Files ignored due to path filters: 1

  • scripts/ci/test-durations.tsv is excluded by !**/*.tsv
Files selected for processing: 1

  • .github/scripts/release-evidence-policy.json

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

@lidge-jun
lidge-jun merged commit 5cb7d65 into dev Nov 10, 2026
35 checks passed
@lidge-jun
lidge-jun deleted the ci/macos-durations-refresh branch November 10, 2026 01:19
@lidge-jun

Copy link
Copy Markdown
Owner Author

Post-merge integration record (maintainer, dev integration under the PR-only bypass in MAINTAINERS.md).

This PR was squash-merged as 5cb7d65915 at 01:19 UTC before its independent review ran (the first reviewer failed with a 503 before starting), so this records the decision and the evidence after the fact.

Independent review of the exact head f4798108e9: APPROVE-WITH-NITS. The reviewer rebuilt the table from the nine job logs of run 42694893702 on an 8cab7040a0 export and got a byte-identical file (3022 rows, all measured). The policy entry differs from the previous ci v1 entry only in scripts/ci/test-durations.tsv (6ff82545…), every other digest is unchanged, earlier entries are kept, policy-check passes and release-evidence.test.cjs is 25/25. A replica of the planner matched the shard composition of batch 42721779341 file for file. Exact-head CI on f4798108e9 was green.

Corrections to the description, from that review:

  • Refreshed macOS shards plan 16.74 / 16.46 / 16.59 / 16.19 min of tests (the description said 16.8 / 16.1 / 16.4 / 16.6; the maximum and the conclusion are unchanged).
  • Setup costs about 1.3 min of wall time per macOS job, so 16.7 min of tests leaves about 2 min under the 20-minute cap, not 3; a run as slow as 42721779341 (1.06× the source run) leaves about 1 min.
  • codex-cli-update-process-fixture and link-ocx-child-e2e cost 10.2 s and 4.0 s on Linux, not almost nothing; codex-cli-update-apply was 2.2× its previous row and is 1.6× its new one.
  • Four shards put the macOS floor near 16.5 min even with a perfect table; the ci.yml note that the suite needs another macOS shard still stands, and that is a follow-up decision.

Proof on dev: lane=all batch 42734994982 on 5cb7d65915 succeeded (44 success, 3 skipped by design). macos 1-4/4 finished in 16.4 / 16.1 / 18.7 / 16.0 min, and all eleven Windows shards passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Maintenance, CI, tests, refactors, or build changes (not a user-facing bug or feature).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant