Skip to content

release: GitHub 502 leaves npm 11.21.0 release records incomplete #10066

Open

Description

@reggi

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/cli

The 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.0 exists as a Git tag and GitHub Release.
  • config-v10.14.0 exists 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions