Skip to content

[improvement](github-actions) Run BE UT (macOS) on master pushes only, once a day - #66958

Merged
hello-stephen merged 1 commit into
apache:masterfrom
hello-stephen:ci-be-ut-mac-slim
Aug 20, 2026
Merged

[improvement](github-actions) Run BE UT (macOS) on master pushes only, once a day#66958
hello-stephen merged 1 commit into
apache:masterfrom
hello-stephen:ci-be-ut-mac-slim

Conversation

@hello-stephen

Copy link
Copy Markdown
Contributor

Background

BE UT (macOS) is the largest consumer of the GitHub Actions queue: in a recent 48h sample it used 1112h of runner wall-clock (44% of all workflows, ~23 concurrent slots against the 5-slot macOS concurrency limit) and spent 355h queued, with a max queue wait of 41.7h. 496 runs were created (486 from PRs), of which 228 did no work (paths filter mismatch) and ~195 did a full BE build.

This workflow only verifies that the BE compiles on macOS — it does not run unit tests (see the comment in the workflow). Running it on every PR push is far beyond what the macOS pool can absorb.

Changes

  1. Trigger change: run on push to master (~18 merges/day) instead of every pull_request synchronize (~100 builds/day).
  2. Schedule reduced: 0 4,10,16,22 * * *0 4 * * * (one daily cache warm-up instead of four).
  3. Paths filter removed: with only push/schedule triggers left, the job-level paths filter has nothing to filter and is deleted; the build step now always runs.
  4. timeout-minutes: 360 added: some runs were observed to hang for up to 24h.

Behavior change

PRs no longer get a macOS compile check during development; failures surface on the master branch after merge. This trades PR-level macOS coverage for queue relief. If PR-level coverage is wanted again later, it can be re-added selectively (e.g. label-triggered or sampled) within the ~5-slot macOS capacity.

🤖 Generated with Claude Code

…, once a day

The macOS build check runs on pull requests at ~100 builds/day against a
5-slot macOS concurrency limit, queueing up to 41.7h (48h sample: 1112h
wall-clock for 496 runs, 355h spent queued). Run it on master pushes
instead (~18 merges/day), keep one daily schedule for ccache warm-up, and
add a 6h timeout to bound stuck runs.

PR-level macOS compile coverage is intentionally dropped to relieve the
queue; failures surface on master instead of on the PR.

Co-Authored-By: Claude <noreply@anthropic.com>
@hello-stephen

Copy link
Copy Markdown
Contributor Author

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@hello-stephen

Copy link
Copy Markdown
Contributor Author

skip buildall

@github-actions github-actions Bot added the approved Indicates a PR has been approved by one committer. label Aug 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

PR approved by at least one committer and no changes requested.

@github-actions

Copy link
Copy Markdown
Contributor

PR approved by anyone and no changes requested.

@hello-stephen
hello-stephen merged commit 954ad6d into apache:master Aug 20, 2026
33 checks passed
@hello-stephen
hello-stephen deleted the ci-be-ut-mac-slim branch August 20, 2026 03:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants