Skip to content

fix(ci): remove matrix from prepare job to fix fromJson empty input#8053

Draft
cryptodev-2s wants to merge 1 commit intomainfrom
fix/prepare-job-empty-output
Draft

fix(ci): remove matrix from prepare job to fix fromJson empty input#8053
cryptodev-2s wants to merge 1 commit intomainfrom
fix/prepare-job-empty-output

Conversation

@cryptodev-2s
Copy link
Contributor

@cryptodev-2s cryptodev-2s commented Feb 26, 2026

Explanation

The upgrade to action-checkout-and-setup from v2 to v3 (#8047) introduced a fast-path optimization that skips the git checkout when there's a node_modules cache hit. This caused the prepare job's yarn workspaces list command to produce empty output, since the repo was never checked out. Combined with the matrix strategy race condition (3 Node versions racing to set a single job output), fromJson receives an empty string and fails.

Fix by:

  • Removing the unnecessary matrix from prepare (package names are identical across Node versions)
  • Disabling cache-node-modules so the action always performs the checkout
  • Pinning to a single Node version (22.x)

References

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've communicated my changes to consumers by updating changelogs for packages I've changed
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

Note

Low Risk
Low risk CI-only change, but it can affect workflow runtime and caching behavior by disabling node_modules cache and pinning the prepare job to a single Node version.

Overview
Fixes CI workflow flakiness in .github/workflows/lint-build-test.yml by removing the Node version matrix from the prepare job so it produces a single, deterministic child-workspace-package-names output.

Forces a real checkout in prepare by setting cache-node-modules: false and pins prepare to node-version: 22.x, avoiding empty fromJson inputs caused by skipped checkout/output races.

Written by Cursor Bugbot for commit b892925. This will update automatically on new commits. Configure here.

The upgrade to action-checkout-and-setup@v3 skips checkout on cache
hits, causing yarn workspaces list to produce empty output. Combined
with the matrix race condition, this results in fromJson receiving
an empty string. Fix by removing the unnecessary matrix and disabling
caching on the prepare job.
@cryptodev-2s cryptodev-2s requested a review from a team as a code owner February 26, 2026 17:06
@cryptodev-2s cryptodev-2s self-assigned this Feb 26, 2026
@cryptodev-2s cryptodev-2s requested a review from Mrtenz February 26, 2026 17:13
@cryptodev-2s cryptodev-2s marked this pull request as draft February 26, 2026 23:32
auto-merge was automatically disabled February 26, 2026 23:32

Pull request was converted to draft

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant