-
chore(ci): cache turbo, bun, and uv and cancel superseded pr runs (#3747)
发布于
2026-07-03 18:22:18 +00:00 This PR:
- adds
concurrencyto the ten PR/push CI workflows: superseded PR
runs are cancelled, while push runs use a per-run group
(github.run_id) so every commit onnext/masterstill gets its own
run - caches turbo outputs (
.turbo/cache) via a new opt-in
enable-turbo-cacheinput on thesetup-node-pnpm-buncomposite (keyed
per job — concurrent jobs save different task graphs), enabled in
ts.build,ts.test,ts.typecheck, and all fourts.test-e2ejobs - enables turbo caching for
typecheck, removes the incorrectdist/
outputs fromtest, hashes roottsconfig.base.jsonin
build/typecheckinputs, and addsmise.toml/mise.lockto
globalDependenciesso toolchain bumps bust every task hash (addresses
the Bugbot finding) - fixes
@composio/slim's build to participate in the turbo graph: core
moves to slim'sdevDependencies(publisheddependenciesunchanged)
and the script no longer shells out topnpm --filter @composio/core build, which raced concurrent dependents by wipingcore/dist
mid-build and double-built core on every cold run — slim'sdist
remains byte-identical to core's; no changeset added since the published
artifact is unchanged (say the word if policy wants one anyway) - fixes the
py.testmatrix cache to~/.cache/uv(it cached
~/.cache/pipwhile installing viauv pip) and caches
~/.bun/install/cachein the five docs workflows - adds
turbo.jsoncto the TS workflows' path filters (previously
unwatched) - release/publish workflows are deliberately untouched
Measured (same commit, cold first attempt vs
gh run rerunwarm):
ts.build 103s → 53s, ts.test 157s → 55s (turbo test24/24 cached in
182ms), ts.typecheck 80s → 43s; py.test legs save a few seconds each (uv
was already fast). Warm floor is checkout + mise + pnpm-install
overhead.Context
Implements
plans/001-ci-speed-caching-and-concurrency.mdfrom the
advisor audit ondocs/sdk-v1-decision-records. Implementation by codex
against the plan, then self-reviewed and counter-reviewed; warm-rerun
testing surfaced and fixed three latent issues (toolchain files absent
from turbo's hash, first-writer-wins cache-key collision across jobs,
and the slim out-of-band core rebuild race).下载附件
- adds