Skip to content

fix: npm publish workflow - #113

Open
Senseye wants to merge 7 commits into
masterfrom
fix/npm-publish
Open

fix: npm publish workflow#113
Senseye wants to merge 7 commits into
masterfrom
fix/npm-publish

Conversation

@Senseye

@Senseye Senseye commented Aug 10, 2026

Copy link
Copy Markdown

npm-publish.yml workflow for enabling npm trusted publishing.

Notes:

  • "Publish" environment created and configured
  • Trusted Publisher configs on npm side

Sergiu Oala and others added 5 commits August 10, 2026 13:20
Stop ignoring package-lock.json and commit it so `npm ci` (used in the
new GitHub Actions workflows) has a lockfile to install from. It was
previously untracked/ignored (since #86), which made
sense before npm ci existed, but now blocks reproducible CI installs.
This has no effect on the published package, since "files": ["lib"]
already excludes the lockfile from the npm tarball.

Co-authored-by: Cursor <cursoragent@cursor.com>
The lockfile committed in adfee80 was generated inside a sandbox whose
npm config defaults to an internal Netflix Artifactory registry
mirror, so every "resolved" tarball URL pointed at
artifacts.netflix.net instead of registry.npmjs.org. That's
unreachable from GitHub-hosted runners and external contributors,
which would break `npm ci` for anyone outside Netflix's network.
Versions and integrity hashes are unchanged; only the resolved host
differs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Node 24 fails due to a known restify/spdy incompatibility (removed
process.binding('http_parser') internal API) unrelated to this
package; the job's name implies its failures shouldn't block merges,
so make that actually true.

Co-authored-by: Cursor <cursoragent@cursor.com>
Job-level continue-on-error only stops the failure from cascading to
the overall workflow run/needs-dependent jobs; it doesn't change the
job's own reported check conclusion, so test-optional still showed as
a failing check on PRs. Moving it to the individual steps makes the
job itself report success while still surfacing Node 24 failures in
the logs.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Senseye
Senseye requested review from dianager and jcreighton August 10, 2026 17:02

@wesleytodd wesleytodd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few changes that I think might be necessary, but mostly questions. I will leave this as request changes, but since I already was behind on reviewing it if you are confident in the answers to my questions don't let that block merging. This is low risk and we can change anything forward as necessary.


concurrency:
group: npm-publish-${{ github.event.release.tag_name || github.run_id }}
cancel-in-progress: false

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be worth a comment on why we want these settings here. While I agree with it for the tag_name case, the fallback to run_id seems odd so I want to make sure I understand the goal.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

group requires a value and I picked run_id as fallback when tag_name is not present - this can happen on manual triggers, dry run/testing purposes.

- uses: actions/checkout@v7
with:
ref: ${{ github.event.release.tag_name || github.ref }}
persist-credentials: false

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this do in this context? I don't think I have ever seen this be necessary, so just want to make sure I understand why it is here.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This removes the github access token after the repo is cloned

Comment thread package.json
"repository": {
"type": "git",
"url": "https://github.com/restify/errors.git"
"url": "git+https://github.com/restify/errors.git"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure why we need this change, seems equivalent and so unnecessary.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

2 participants