ci: Optimize CI runtime/cost by introducing fast-fail sequencing and path-based gating for expensive jobs#10015
Open
vincentkoc wants to merge 4 commits intoopenclaw:mainfrom
Open
ci: Optimize CI runtime/cost by introducing fast-fail sequencing and path-based gating for expensive jobs#10015vincentkoc wants to merge 4 commits intoopenclaw:mainfrom
vincentkoc wants to merge 4 commits intoopenclaw:mainfrom
Conversation
Contributor
Author
Contributor
Author
Contributor
Author
5 tasks
Contributor
Author
|
Rebase in progress, will ping another comment in next few minutes once completed and remove this comment. |
1 task
bfc1ccb to
f92900f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CI now runs a fast core gate first and only runs heavy suites when changes touch runtime code. This reduces wasted runner time/cost and skips expensive jobs for docs-only PRs which is now locking github due to high volume PRs.
Changes
group: ci-${{ github.workflow }}-${{ github.ref }}andcancel-in-progress: truechangesjob usingdorny/paths-filter@v3with outputrun_expensive.run_expensiveis true only for runtime-impacting paths (for example:src/**,extensions/**,apps/**, workflows/config/lock/build files).checks-core(always):pnpm protocol:check,pnpm formatandchecks-full(conditional):pnpm tsgo,pnpm build && pnpm lint, node vitest, bun vitestchecks-fulldepend on and run after core checks:needs: [checks-core, changes]andif: needs.changes.outputs.run_expensive == 'true'checks-full+changes:checks-windows,checks-macos,macos-app,androidNew Workflow
Greptile Overview
Greptile Summary
This PR refactors
.github/workflows/ci.ymlto reduce CI runtime/cost by adding (1) workflow-level concurrency cancellation, (2) achangesjob usingdorny/paths-filter@v3to decide whether to run expensive suites, and (3) splitting checks into an always-onchecks-coregate (protocol + format) and a conditionalchecks-fullgate (tsgo/build+lint/tests) that runs only whenrun_expensiveis true. Expensive platform jobs (Windows/macOS/macOS app/Android) are then gated behindchecks-full+ the path filter output, while preserving PR-only behavior for macOS jobs.Confidence Score: 5/5
ci.ymland compared to the prior workflow; the earlier blocking issues (concurrency collision, missing checkout for paths-filter, and push-event gating) appear addressed in this commit. The remaining changes are straightforward job splitting and conditional gating without introducing obvious broken references or invalid expressions.