Skip to content

CI: correct Turbo cache inputs and improve shared task reuse #2290

Closed

Description

@edelauna

CI: correct Turbo cache inputs and improve shared task reuse

Problem and evidence

CI repeats deterministic build/static work, but expanding cache reuse before correcting inputs risks false cache hits.

Isolated dry-run hash probes at 5cc422 (investigation snapshot; revalidate on implementation base) found:

  • Webview build inputs omitted index.html, imported src/shared/**, src/package.json version information and relevant release environment inputs.
  • Webview typechecking omitted shared source inputs.
  • A scratch candidate retaining $TURBO_DEFAULT$ and declaring shared source, version and environment inputs corrected five tested invalidation cases. Git SHA and platform-dependent behavior still require audit.

Implementation

  1. Reproduce and fix input/dependency omissions for build and static tasks, preserving default inputs.
  2. Audit outputs, environment, generated files, runtime/toolchain, Git metadata and OS compatibility.
  3. Pilot appropriately scoped persistent GitHub caching for deterministic tasks; compare a shared Turbo remote cache where useful across workflows.
  4. Choose the simplest justified reuse strategy using hit rate, transfer overhead, runner savings, cost and ownership. Remote caching is an evaluation, not a mandatory new service.

Acceptance criteria

  • Shared source, HTML, package/version, relevant configuration/environment and other audited inputs invalidate the appropriate tasks.
  • Identical inputs permit reuse; clean and cached results are equivalent, and required artifacts are restored.
  • Linux/Windows or toolchain-incompatible outputs cannot be incorrectly reused.
  • Cache miss/outage executes the task normally; cancellations do not publish incomplete successful results.
  • Credential and cache-write permissions are explicit, including untrusted fork PRs.
  • Report restoration time/bytes, task execution, hit rate, runner minutes and required-check completion time.
  • Land correctness fixes before independently reversible reuse changes.

Related: #47 and its coverage-slicing issues #114–#117 address extension coverage granularity. Coordinate rather than duplicate that work; this issue focuses on build/static input correctness and cross-run reuse.

Sources: Turbo caching, remote caching.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions