发布

  • chore(ci): cache turbo, bun, and uv and cancel superseded pr runs (#3747)

    frostbyte_neo 发布于 2026-07-03 18:22:18 +00:00

    This PR:

    • adds concurrency to 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 on next/master still gets its own
      run
    • caches turbo outputs (.turbo/cache) via a new opt-in
      enable-turbo-cache input on the setup-node-pnpm-bun composite (keyed
      per job — concurrent jobs save different task graphs), enabled in
      ts.build, ts.test, ts.typecheck, and all four ts.test-e2e jobs
    • enables turbo caching for typecheck, removes the incorrect dist/
      outputs from test, hashes root tsconfig.base.json in
      build/typecheck inputs, and adds mise.toml/mise.lock to
      globalDependencies so 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's devDependencies (published dependencies unchanged)
      and the script no longer shells out to pnpm --filter @composio/core build, which raced concurrent dependents by wiping core/dist
      mid-build and double-built core on every cold run — slim's dist
      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.test matrix cache to ~/.cache/uv (it cached
      ~/.cache/pip while installing via uv pip) and caches
      ~/.bun/install/cache in the five docs workflows
    • adds turbo.jsonc to the TS workflows' path filters (previously
      unwatched)
    • release/publish workflows are deliberately untouched

    Measured (same commit, cold first attempt vs gh run rerun warm):
    ts.build 103s → 53s, ts.test 157s → 55s (turbo test 24/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.md from the
    advisor audit on docs/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).

    下载附件