Skip to content

ci: fix TS7 release pipeline (pin pnpm 11.10, restore age-gate excludes, bump actions) - #63

Merged
chybisov merged 4 commits into
mainfrom
fix/ci-bump-actions
Jul 13, 2026
Merged

ci: fix TS7 release pipeline (pin pnpm 11.10, restore age-gate excludes, bump actions)#63
chybisov merged 4 commits into
mainfrom
fix/ci-bump-actions

Conversation

@chybisov

@chybisov chybisov commented Jul 13, 2026

Copy link
Copy Markdown
Member

Why

The release pipeline broke on main after #62's TS7 toolchain bump. Two independent causes, both now fixed by mirroring what lifinance/sdk#428 did:

  1. pnpm 11.12.0 breaks pnpm/action-setup's self-installer (Cannot use 'in' operator to search for 'integrity' in undefined). chore: adopt TypeScript 7 and refresh toolchain #62 bumped pnpm to 11.12.0; the SDK never touched its pnpm version.
  2. The org's minimumReleaseAge supply-chain gate blocks the <24h-old @yuku / rolldown-plugin-dts@0.27.8 / tsdown@0.22.7 transitive deps. pnpm auto-generates a minimumReleaseAgeExclude block for these; it was wrongly dropped from bigmi's pnpm-workspace.yaml (the SDK kept it).

What

  • Pin pnpm to 11.10.0 — structurally like the proven-good 11.9.0; installs cleanly via pnpm/action-setup (11.12.0 does not).
  • Restore minimumReleaseAgeExclude in pnpm-workspace.yaml (same 26 entries the SDK committed) so pnpm install --frozen-lockfile passes the gate — locally and in CI. Keeps the supply-chain guard intact (no disabling).
  • Bump all pinned actions to latest: actions/checkout 6.0.2→7.0.0, changesets/action 1.8.0→1.9.0, linear/linear-release-action 0.14.0→0.14.5, pnpm/action-setup 6.0.8→6.0.9 (actions/setup-node already latest).
  • Run Verify on PRs (opened/synchronize/reopened) + guard Version/Publish to push/dispatch only — so toolchain/CI breaks are caught pre-merge, not on main. This is why chore: adopt TypeScript 7 and refresh toolchain #62's break slipped through: Verify was push-to-main only.

Validation

Full Verify gate is green on this PR's own CI run (Install · biome · circular-deps · knip · build · check:types · test), and Version/Publish/Linear/Preview correctly skip on the PR. CI-only change — no publishable package affected, no changeset.

The release pipeline broke after pnpm was bumped to 11.12.0: pnpm/action-setup's
npm-based self-installer crashes installing that version ("Cannot use 'in'
operator to search for 'integrity' in undefined").

- pnpm/action-setup 6.0.8 -> 6.0.9 + standalone: true (fetch the prebuilt
  binary, bypassing the failing self-installer) -- the actual fix
- bump remaining pinned actions to latest: actions/checkout 6.0.2 -> 7.0.0,
  changesets/action 1.8.0 -> 1.9.0, linear/linear-release-action 0.14.0 -> 0.14.5
  (actions/setup-node already at 6.4.0)
- run the Verify job on pull_request (opened/synchronize/reopened) so
  toolchain/CI changes are validated pre-merge; guard Version/Publish to
  push/dispatch only so a passing PR Verify never triggers a release

pnpm stays at 11.12.0 (no revert).
@changeset-bot

changeset-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: ae2cfbe

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

chybisov added 3 commits July 13, 2026 13:55
Test whether v6.0.9's newer bootstrap (11.7.0) installs pnpm 11.12.0 via the
plain path. standalone:true installed 11.12.0 fine but collided with the
runner's pre-existing PNPM_HOME (v10 layout), breaking @pnpm/exe exec.
pnpm 11.12.0 breaks pnpm/action-setup's self-installer ('Cannot use in
operator ... integrity'). 11.10.0 is structurally identical to the
proven-good 11.9.0 (no optionalDependencies) and installs via action-setup.
Mirrors lifinance/sdk#428. The org's minimumReleaseAge supply-chain gate
blocks the <24h-old @yuku / rolldown-plugin-dts@0.27.8 / tsdown@0.22.7
transitive deps pulled in by the TS7 toolchain. pnpm auto-generates this
exclude block on install; keep it committed (it was wrongly reverted as an
artifact) so 'pnpm install --frozen-lockfile' passes on CI and locally.
@chybisov chybisov changed the title ci: fix pnpm 11.12 setup, bump pinned actions, run Verify on PRs ci: fix TS7 release pipeline (pin pnpm 11.10, restore age-gate excludes, bump actions) Jul 13, 2026
@chybisov
chybisov merged commit 4327904 into main Jul 13, 2026
6 checks passed
@chybisov
chybisov deleted the fix/ci-bump-actions branch July 13, 2026 12:17
chybisov added a commit that referenced this pull request Jul 27, 2026
Bump dev tooling (biome 2.5.5, changesets 2.31.1, fs-extra 11.4.0,
knip 6.29.0, tsdown 0.22.14, react/react-dom 19.2.8) and the
@wallet-standard patch line.

Five of seven Dependabot advisories clear from the lockfile refresh alone
(brace-expansion, js-yaml x2, fast-uri). The remaining two are pinned by
dependents that have not moved yet, so they need overrides: postcss by
vite (dev only) and valibot by bitcoinjs-lib.

tsdown 0.22.14 deprecates deps.skipNodeModulesBundle in favour of
deps.neverBundle; the build emitted a warning for all three packages.
Verified the emitted output still leaves dependencies external.

Refresh minimumReleaseAgeExclude to the versions the lockfile now pins —
every entry referred to the superseded tsdown 0.22.7 tree, and
tsdown 0.22.14 is ~23h old, right at the gate that broke the release
pipeline in #63.

@noble/hashes 2.x is deliberately excluded, see PR description.
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