Skip to content

v13.3.1 breaks verifyConditions for nested GitLab subgroup repositories — EMISSINGREPO #956

@bruvio

Description

@bruvio

v13.3.1 breaks verifyConditions for nested GitLab subgroup repositories — EMISSINGREPO

Description

After upgrading from @semantic-release/gitlab@13.3.0 to @13.3.1, the verifyConditions step fails with EMISSINGREPO for repositories under nested GitLab subgroups (e.g. group/subgroup/project). The same configuration works correctly on 13.3.0.

This appears to be a regression introduced by the fix in v13.3.1: "header must be a string, not array" ([146c351](146c351)).

Steps to Reproduce

  1. Have a repository hosted under a nested GitLab group (e.g. gitlab.com/org/subgroup/project)
  2. Install @semantic-release/gitlab@13.3.1
  3. Run npx semantic-release --dry-run --no-ci

Result: EMISSINGREPO The repository org/subgroup/project doesn't exist.

  1. Downgrade to @semantic-release/gitlab@13.3.0
  2. Run npx semantic-release --dry-run --no-ci

Result: verifyConditions passes, release proceeds successfully.

Environment

  • semantic-release: 24.2.9 (CI) / 24.0.0 (local)
  • @semantic-release/gitlab: 13.3.1 (broken) / 13.3.0 (working)
  • GitLab: gitlab.com (SaaS, not self-hosted)
  • Repository path: nested subgroup (group/subgroup/project)
  • Node: 20 (bookworm)
  • Auth: PRIVATE-TOKEN via group access token (confirmed working via direct API curl)

Logs

v13.3.1 — fails

[semantic-release] [@semantic-release/gitlab] › ℹ  Verify GitLab authentication (https://gitlab.com/api/v4)
[semantic-release] › ✘  Failed step "verifyConditions" of plugin "@semantic-release/gitlab"
[semantic-release] › ✘  EMISSINGREPO The repository org/subgroup/project doesn't exist.

v13.3.0 — works

[semantic-release] [@semantic-release/gitlab] › ℹ  Verify GitLab authentication (https://gitlab.com/api/v4)
[semantic-release] › ✔  Completed step "verifyConditions" of plugin "@semantic-release/gitlab"
[semantic-release] › ℹ  The next release version is x.y.z

Additional Context

  • The GitLab API token is valid — confirmed by successful curl calls using the same token against https://gitlab.com/api/v4/projects/<url-encoded-path> and https://gitlab.com/api/v4/user.
  • The issue only affects repositories under nested subgroups. The error message is misleading — the repository exists and is accessible, but the plugin fails to resolve it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions