Repository navigation
Move macOS CMake tests to nightly; remove unused post-steps action - #15518
pdillinger wants to merge 1 commit into
Conversation
Summary: CI cost reduction and cleanup in the GitHub Actions configuration: * Move `build-macos-cmake` (four test shards on `macos-15-xlarge`) from pr-jobs to nightly. These jobs are among the most expensive per run and rarely catch anything not caught elsewhere. PRs still run `build-macos` (a build without tests) and the macOS Java jobs. The job is unchanged except for using nightly's owner check (it can no longer be selected through pr-jobs' `ONLY_JOB`; use workflow_dispatch on nightly instead). * Remove the `post-steps` composite action and its 36 call sites. It was invoked without an `if:` condition, so GitHub skipped it whenever an earlier step had failed, meaning it only ever ran after successful jobs. Its failure-oriented steps (copying `t/` test logs, uploading core dumps) therefore never did anything. On success it uploaded the gnu_parallel job log (misleadingly named "db-log-file") and gtest XML results, neither of which is consumed by anything, and the macOS Java jobs that call it produce neither. Failing test output is already printed in the job console by `make check`. The `GTEST_OUTPUT` setting in pre-steps existed only to produce the uploaded XML, so it is removed too. Rather than fixing post-steps to run on failure, this change drops it because what it would collect is redundant with the console output. * Bonus: the pre-steps diagnostics step now logs OS and CPU details alongside the existing ulimits, to help diagnose failures that depend on the runner environment. Test Plan: CI on this PR validates the workflow YAML (`make check-workflow-yaml` in check-format-and-targets) and exercises pre-steps and the remaining jobs without post-steps. The relocated `build-macos-cmake` won't run before merge; parsing the workflows confirmed the nightly job is identical to the removed pr-jobs job apart from its owner-check condition. A manual workflow_dispatch of nightly after merge can confirm it runs.
|
@pdillinger has imported this pull request. If you are a Meta employee, you can view this in D128353844. |
✅ clang-tidy: No findings on changed linesCompleted in 0.0s. |
✅ Claude Code ReviewAuto-triggered after CI passed — reviewing commit 5507648 SummaryClean CI cleanup PR. The three changes (move macOS CMake tests to nightly, remove dead post-steps action, add system diagnostics to pre-steps) are well-motivated and correctly implemented. The High-severity findings (0): No high-severity findings. Full review (click to expand)Findings🟡 MEDIUMM1. Residual
|
| Aspect | Affected? | Notes |
|---|---|---|
| C++ code | No | Pure CI config change |
| Public API | No | No API changes |
| DB mutex | No | No runtime code |
| Performance | No | CI cost reduction only |
| Backwards compat | No | No behavioral changes |
| Serialization | No | No format changes |
Positive Observations
- The PR description clearly explains why
post-stepswas ineffective (noif:condition meant GitHub skipped it on failure, so its failure-oriented steps never executed). - The
GTEST_OUTPUTremoval is correctly scoped — it only existed to feed the XML upload in post-steps, so removing both together is clean. - The
build-macos-cmakemigration preserves the job definition exactly (same runner, same xcode version, same sharding, same ccache config), only changing the trigger condition from pr-jobs'ONLY_JOBcheck to nightly'srepository_ownercheck, which is appropriate. - The new pre-steps diagnostics (
uname -a,lscpu/sysctl) will be genuinely useful for debugging runner-environment-dependent failures.
ℹ️ About this response
Generated by Claude Code.
Review methodology: claude_md/ci_review_prompt.md
Limitations:
- Claude may miss context from files not in the diff
- Large PRs may be truncated
- Always apply human judgment to AI suggestions
Commands:
/claude-review [context]— Request a code review/claude-query <question>— Ask about the PR or codebase
Summary:
CI cost reduction and cleanup in the GitHub Actions configuration:
Move
build-macos-cmake(four test shards onmacos-15-xlarge) from pr-jobs to nightly. These jobs are among the most expensive per run and rarely catch anything not caught elsewhere. PRs still runbuild-macos(a build without tests) and the macOS Java jobs. The job is unchanged except for using nightly's owner check (it can no longer be selected through pr-jobs'ONLY_JOB; use workflow_dispatch on nightly instead).Remove the
post-stepscomposite action and its 36 call sites. It was invoked without anif:condition, so GitHub skipped it whenever an earlier step had failed, meaning it only ever ran after successful jobs. Its failure-oriented steps (copyingt/test logs, uploading core dumps) therefore never did anything. On success it uploaded the gnu_parallel job log (misleadingly named "db-log-file") and gtest XML results, neither of which is consumed by anything, and the macOS Java jobs that call it produce neither. Failing test output is already printed in the job console bymake check. TheGTEST_OUTPUTsetting in pre-steps existed only to produce the uploaded XML, so it is removed too. Rather than fixing post-steps to run on failure, this change drops it because what it would collect is redundant with the console output.Bonus: the pre-steps diagnostics step now logs OS and CPU details alongside the existing ulimits, to help diagnose failures that depend on the runner environment.
Test Plan:
CI on this PR validates the workflow YAML (
make check-workflow-yamlin check-format-and-targets) and exercises pre-steps and the remaining jobs without post-steps. The relocatedbuild-macos-cmakewon't run before merge; parsing the workflows confirmed the nightly job is identical to the removed pr-jobs job apart from its owner-check condition. A manual workflow_dispatch of nightly after merge can confirm it runs.