Skip to content

PF-3329: migrate to pnpm 10 + Node 24 + GitHub Packages#32

Closed
genisd wants to merge 4 commits into
mainfrom
PF-3329
Closed

PF-3329: migrate to pnpm 10 + Node 24 + GitHub Packages#32
genisd wants to merge 4 commits into
mainfrom
PF-3329

Conversation

@genisd
Copy link
Copy Markdown
Member

@genisd genisd commented May 19, 2026

Summary

Migrate @gynzy/ember-sortable to pnpm 10, Node 24, and GitHub Packages publishing on top of util.workflowJavascriptPackage() from lib-jsonnet.

Migration scope

  • pnpm 10.33.4 (replaces yarn).
  • Node 24 (replaces 14.* || >= 16).
  • Publish target: GitHub Packages only (https://npm.pkg.github.com). No npm.gynzy.net / setGynzyNpmToken left in generated YAML.
  • Repo was already onboarded to lib-jsonnet, so no bootstrap was needed; pulled lib-jsonnet PR Created importable modern test helpers adopted-ember-addons/ember-sortable#257 via pull-upstream-and-rebuild.sh.

Dependency

Discovery / decisions

  • Visibility: PUBLIC -> isPublicFork=true.
  • Default branch: main.
  • Version bump: 4.0.13 -> 4.1.0 (minor +1, patch reset).
  • scripts.test not defined; only test:ember and test:all exist (run Ember tests via ember test / ember try:each). Existing CI did not run tests either, so the new test job runs the same checks current CI would: lint:hbs, lint:js, build. The Ember test commands were left out of CI to match the existing behaviour and avoid expanding migration scope.
  • Build command: ember build (invoked via pnpm run build).
  • Lint: pnpm run lint:hbs and pnpm run lint:js are invoked directly in the test job because the umbrella lint script in package.json still calls yarn internally. Per migration scope, scripts were not modified; only .husky/pre-commit was updated from yarn lint to direct pnpm run lint:hbs/pnpm run lint:js so local pre-commit keeps working under pnpm.
  • No services / emulators were used by existing workflows -> none added to testJob.
  • No tag-based publish trigger detected; current publish-prod triggers on push to main only. Helper preserves that.

Removed legacy

  • ci/npm.sh, ci/publish.sh (handwritten yarn/npm.gynzy.net publish helpers) -- superseded by helper-generated jobs.

Preserved non-helper pipelines

None; the repo had no side-pipelines.

Verification

Locally, on a clean pnpm install:

  • pnpm run lint:hbs passes.
  • pnpm run lint:js passes.
  • pnpm run build succeeds (only a benign "Ember CLI v4.12.3 not tested against Node v24" warning).
  • Generated workflows contain node:24, pnpm, and no npm.gynzy.net / setGynzyNpmToken strings.

Open Questions

  • ember test / ember try:each are not exercised in CI today and remain out of CI here. If we want the addon test suite to gate PRs, that's a follow-up (it would also need a browser environment, which is out of scope for this migration).

genisd added 4 commits May 19, 2026 15:21
- Pull lib-jsonnet PR adopted-ember-addons#257 (adds packageManager='pnpm' support to
  util.workflowJavascriptPackage).
- Rewrite .github.jsonnet to use packageManager='pnpm', node:24 image,
  isPublicFork=true, and a test job that runs lint:hbs/lint:js/build.
- Regenerate workflows; publish targets GitHub Packages only
  (no more npm.gynzy.net references).
- Remove legacy ci/npm.sh and ci/publish.sh (superseded by helpers).

Depends on lib-jsonnet#257; follow-up will repin to prod once it merges.
- package.json: add packageManager=pnpm@10.33.4, publishConfig pointing
  at npm.pkg.github.com, engines.node>=24, bump version 4.0.13 -> 4.1.0.
- .npmrc: scope @gynzy to npm.pkg.github.com.
- .nvmrc: pin Node 24.
- .husky/pre-commit: replace yarn lint with direct pnpm lint:hbs/lint:js
  (the umbrella lint script still calls yarn internally; left untouched
  per migration scope).
- Replace yarn.lock with pnpm-lock.yaml.
- package.json: lint script now uses pnpm instead of yarn.
- .husky/pre-commit: call pnpm run lint (umbrella) instead of the
  individual sub-scripts.
- .github.jsonnet/workflows: testJob now runs pnpm run lint instead
  of lint:hbs/lint:js separately.
@genisd genisd closed this May 21, 2026
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