Skip to content

Runner workspace publisher ignores configured branch #1817

Description

@chubes4

Problem

The reusable workflow request can provide both runner_workspace.branch and runner_workspace.branch_prefix, but runner-workspace-publisher.mjs ignores branch and always computes the publication head as ${branch_prefix}${run_id}. When the caller supplies the same stable value for both fields, the workload id is concatenated without a separator.

Hosted evidence: https://github.com/Automattic/agents-api/actions/runs/29473678677
Published PR: Automattic/agents-api#430

The request specified:

{
  "branch": "docs-agent/agents-api-docs-upkeep",
  "branch_prefix": "docs-agent/agents-api-docs-upkeep"
}

The successful publication result instead reported:

{
  "head": "docs-agent/agents-api-docs-upkeepdocs-agent-technical-maintenance"
}

Expected

A configured exact runner_workspace.branch is the publication head. branch_prefix + run_id remains the fallback when no exact branch is configured. Validation must keep both paths bounded and safe, and deterministic coverage should prove existing exact branches are reused across runs.

Impact

Publication succeeds, but caller-declared stable branch identity is not honored and generated branch names can be malformed or unexpected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions