feat(ci): publish public packages to both npm and GitHub Packages with dual-scope support - #24
Conversation
Signed-off-by: dongjiang <dongjiang1989@126.com>
OLDyade
left a comment
There was a problem hiding this comment.
Thanks for adding the dual-registry publish path and the preview-release fix. CI is green, but I found one blocker before approval.
When publishing to GitHub Packages, scripts/publish-npm.mjs rewrites package names and dependency keys from @iflytekopensource/* to @iflytek/*. That makes @iflytek/hermes depend on @iflytek/adapters, but the packaged Hermes runtime still hardcodes @iflytekopensource/adapters in bin/install.mjs, bridge/worker.mjs, and provider/__init__.py. Installing the GitHub-scoped Hermes package would therefore fail to resolve the adapter package.
Minimal fix: when staging GitHub Packages tarballs, also rewrite the runtime adapter import strings in the Hermes package from @iflytekopensource/adapters to @iflytek/adapters, or keep the dependency name aligned with the runtime import. After that I think this is good to approve.
Signed-off-by: dongjiang <dongjiang1989@126.com>
Thanks @OLDyade Good catch. |
OLDyade
left a comment
There was a problem hiding this comment.
Blocker addressed: GitHub Packages scope rewrite now also updates Hermes runtime adapter imports. CI is green.
Which issue(s) this PR fixes:
Summary
preview-releaseworkflow: explicitly specify public package paths forpkg-pr-new publishto avoidNo packageserror when internal packages aremarked
private: true@iflytek/scope so packages appear atiflytek/memflywheel/packagesscripts/publish-npm.mjsto support dual-registry publishing via--registryflag:@iflytekopensource/adaptersand@iflytekopensource/hermes@iflytekopensource/→@iflytek/(including dependency references) before publishing.npmrcto.gitignoreto prevent accidental commit of temporary auth tokensChecks
pnpm run ciiflytek/memflywheelSpecial notes for reviewers
Publish public packages to both npm and GitHub Packages with dual-scope support