Skip to content

chore: drop yarn zero-install - #2

Merged
ndthanhdev merged 2 commits into
mainfrom
chore/drop-yarn-zero-install
Aug 16, 2026
Merged

chore: drop yarn zero-install#2
ndthanhdev merged 2 commits into
mainfrom
chore/drop-yarn-zero-install

Conversation

@ndthanhdev

@ndthanhdev ndthanhdev commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Summary

Moves the repo off Yarn zero-install. The offline cache is no longer committed; Yarn now uses the shared global cache and CI restores dependencies via actions/setup-node.

Also includes a drive-by fix to the Dagger build env, which was broken independently of this change (see below).

Changes

Dropping zero-install (1084e13)

  • .gitignore — removed the !.yarn/cache exception, so the cache is ignored. patches/plugins/releases/sdks/versions stay tracked.
  • .yarnrc.ymlenableGlobalCache: true, removed compressionLevel: mixed.
  • Untracked .yarn/cache (1,828 zips, 175MB) and the generated .yarn/install-state.gz, which had been force-added despite matching .yarn/*.
  • yarn.lock — dropping compressionLevel: mixed moves the lockfile to Yarn 4's default cacheKey (1010c0), rehashing all 1,820 checksums. No resolution or version changed.
  • All 5 workflows — added cache: yarn to actions/setup-node and hardened installs to yarn install --immutable so lockfile drift fails the build.

Unrelated CI fix (61bd2bb)

workflow_runtime.go:25 pinned proto to 0.58.1, but the Node.js proto plugin is resolved unpinned from the registry at container build time and has since published a release requiring >= 0.60.0-alpha.0. proto use therefore failed on any run, regardless of this PR. Bumped to 0.60.2 (latest stable) in both the real build env and the skeleton template, and corrected the stale comment that still said 0.35.3.

Verification

  • Cold rm -rf node_modules && yarn install succeeded locally from an empty cache.
  • yarn install --immutable then passed with a clean working tree.
  • Parsed all 5 workflow YAMLs and asserted cache: yarn + yarn install --immutable on each.
  • Workspace Verify is green on CI, including a cold registry install with no committed cache — the key thing this PR needed to prove.

Notes for reviewers

  • The 1,835-file diff is almost entirely cache deletions and lockfile checksum churn. The substantive change is a handful of files: .gitignore, .yarnrc.yml, the workflows, and the proto pin.
  • Repo size is unchanged (~865MB). The historical zips still live in the pack; only a history rewrite would reclaim that, which was deliberately out of scope.
  • After merging, pull and run yarn install — packages repopulate from the registry once, into the global cache.
  • First CI run after merge is a cold install; subsequent runs hit the yarn.lock-keyed cache.

Stop committing the Yarn offline cache and switch to the shared global
cache. The 1,828 zips in .yarn/cache (175MB) are now gitignored, along
with the generated .yarn/install-state.gz.

Removing compressionLevel: mixed moves the lockfile to Yarn 4's default
cacheKey (10 -> 10c0), which rewrites every checksum but changes no
resolutions.

CI now caches dependencies via actions/setup-node and installs with
--immutable so lockfile drift fails the build.
The Node.js proto plugin is resolved unpinned from the registry at
container build time, and now requires proto >= 0.60.0-alpha.0. The
build env pinned 0.58.1, so 'proto use' failed.

Also corrects the stale comment, which still referenced 0.35.3.
@ndthanhdev
ndthanhdev merged commit 211dfe6 into main Aug 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant