Skip to content

[ci] Keep affected verification tasks isolated from concurrent build output changes #1651

Description

@kang-heewon

Problem

The affected PR verification gate runs turbo run build typecheck test in one invocation. Although Turbo declares test and typecheck as depending on each package build, unrelated package builds can still mutate shared dependency outputs while consumers are testing or typechecking. The required validate check is therefore failing nondeterministically on packages unrelated to the PR diff.

Evidence

  • Exact current trunk SHA 88c6ce10feb24a70183e3d3c4bb4c0edfcf705e6 failed CI run https://github.com/croco-dev/framework/actions/runs/30576218296 in @croco/cli#test; the later standalone summarized test gate passed in the same job.
  • PR fix: reject lossy metering usage values #1630 head bea6c31537bd414a3bb91f74b32ed132820d8c57 failed the same combined gate first in @croco/cli#test; its later standalone test gate passed, and the CLI suite passes locally.
  • Rerunning the unchanged PR head/base failed the combined gate in both @croco/cli#test and @croco/rpc-codegen#typecheck; standalone rpc-codegen typecheck passes locally.
  • A local reproduction of the exact combined command failed only @croco/rpc-codegen#typecheck (345/346 tasks), followed by a passing standalone rpc-codegen typecheck.
  • PR fix: reject lossy metering usage values #1630 changes only metering/problem contracts and generated documentation; it does not change CLI or rpc-codegen.

Expected outcome

The affected verification profile should preserve the same build, typecheck, and test coverage while preventing build output mutation from racing dependent checks. For example, complete affected builds before running affected typechecks/tests, and retain deterministic failure diagnostics. Add a verification-manifest contract test for the ordering.

Acceptance criteria

  • Affected build completes before dependent affected typecheck/test execution.
  • The current affected package filter semantics remain intact.
  • Verification manifest tests prove the ordering/commands.
  • Repeated affected verification runs do not produce moving CLI/rpc-codegen failures on an unchanged tree.

Blocks #1630 and likely other PRs until the required validate gate is stable.

Metadata

Metadata

Assignees

Labels

ciContinuous integration checks and repository quality gatesquality-gatereliability

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions