Skip to content

Release failure Slack notice never shows the release triggerer #6265

Description

@ChrisJBurns

What

releaser.yml line 354, in the notify-release-failure job's Slack payload:

"text": "*Triggered by:*\n${{ needs.extract-release-actor.outputs.triggered_by || github.actor }}"

There is no extract-release-actor job in releaser.yml, and it is not in that job's needs: list either. The expression resolves to null, falls through to || github.actor, and the notice always reports the actor rather than the person who actually triggered the release.

actionlint reports it:

releaser.yml:354: property "extract-release-actor" is not defined in object type
  {compute-build-flags: ..., image-build-and-push: ..., publish-helm: ...,
   release-binaries: ..., skills-build-and-push: ...}

Why it matters

create-release-tag.yml goes to real trouble to preserve this. It extracts a Release-Triggered-By trailer from the release commit, and passes it forward as an HTML comment in the release body specifically so downstream workflows can recover who started the release:

# Include actor metadata as HTML comment if available (parsed by releaser.yml)
--notes "<!-- Release-Triggered-By: $TRIGGERED_BY -->"

Nothing in releaser.yml parses it. On a release: published event github.actor is whoever created the release — which for our flow is the release GitHub App, not a person. So the failure notification names a bot in exactly the situation where you want to know which human to talk to.

Fix

Either add the job that parses the trailer out of github.event.release.body and declare it in notify-release-failure's needs:, or drop the dead reference and the trailer plumbing in create-release-tag.yml along with it. Worth deciding which, rather than leaving a half-wired path.

Notes

Found while working through #6253; not fixed there because it changes release-notification behaviour in a workflow that no pull request can exercise, and that work was scoped to permissions and quoting.

actionlint is not currently in CI — see #6253 — which is why this has gone unnoticed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingci-cdneeds-triageIssue needs initial triage by a maintainer

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions