Repository navigation
release: GitHub 502 leaves npm 11.21.0 release records incomplete #10066
Description
Summary
The npm 11.21.0 Release workflow failed in template-oss-release-please after an HTTP request returned an nginx 502 Bad Gateway response. The failure prevented GitHub tags and Releases from being created for the two packages changed by the release and skipped all downstream release-integration jobs.
Parent tracker: #10027
Affected run
Release: npm 11.21.0
Branch: release/v11
Release commit: e9f182ab8b45f7e2e87da4076e62376e99d7df54
Workflow: https://github.com/npm/cli/actions/runs/36756679730
Failing job: https://github.com/npm/cli/actions/runs/36756679730/job/110028585934
The corresponding branch CI workflow passed: https://github.com/npm/cli/actions/runs/36756678607
Missing GitHub release records
Both packages were successfully published to the npm registry, but the corresponding Git tags and GitHub Releases were not created:
| Package | Registry publication | Missing Git tag | Missing GitHub Release |
|---|---|---|---|
npm@11.21.0 |
Published | v11.21.0 |
v11.21.0 |
@npmcli/config@10.14.0 |
Published | config-v10.14.0 |
config-v10.14.0 |
The previous records, v11.20.0 and config-v10.13.0, exist normally.
Root cause
The fatal error was an unhandled HTTP 502 Bad Gateway response during the release-please step:
Release Please failed
HttpError: <html>
<head><title>502 Bad Gateway</title></head>
...
release-please normally uses the GitHub API to discover releases, tags, release pull requests, commits, and changed-file lists and to create GitHub release records. The log does not include the request URL, so the exact GitHub API endpoint or intermediary that returned the 502 cannot be identified from this run.
The following messages were not the fatal cause:
- release-please reported 11 of 13 component releases because the two newly changed components did not yet have their new GitHub release records.
- The old commit
a3b5559a18f489999c09e4f94694e162a4e8e6f6(Fix typos in some files) did not follow Conventional Commits syntax. release-please logged the parse warning and continued.
Remediation
Re-run the complete failed workflow so that skipped dependent jobs are reevaluated:
gh run rerun 36756679730 --repo npm/cli
gh run watch 36756679730 --repo npm/cliThe workflow contains no npm publication step. A successful rerun should create both missing tags and GitHub Releases without republishing the already-published registry packages, then run downstream release integration.
If the 502 recurs, capture the request endpoint class, response status, and retry behavior before manually creating tags or releases. Do not create the tags first because that can change release-please's release detection.
Acceptance criteria
v11.21.0exists as a Git tag and GitHub Release.config-v10.14.0exists as a Git tag and GitHub Release.- Both releases point to the intended npm 11.21.0 release commit and contain the generated release metadata.
- The Release workflow completes its release-please step.
- The skipped Release Integration jobs are executed and their results are recorded.
- A recurring HTTP failure includes enough diagnostics to identify the request and determine whether bounded retry handling is needed.
Activity