Skip to content

ci(release): list failed jobs in pre-release failure notifications #4718

Closed

Description

@matthewgrossman

User Story

As the triage engineer or release captain, I want a failed pre-release's Slack notification to link the failed jobs, so I can start on the fix without opening a 90-job run to find the problem.

Problem Statement

notify-prerelease-failure in .github/workflows/release-prerelease.yml posts the same text for every failure:

❌ OpenShell prerelease v0.1.5-pre.5 failed (attempt 1). Published artifacts remain available.
View failed release run

It doesn't say which job broke. For v0.1.5-pre.5 (run 39250333833), the cause was one Cargo Deny job among 92. In the triage thread, Drew suggested this format:

OpenShell v0.1.5-pre.5 release qualification failed.

Failing checks
• [Check Name](link to failing check)

Impact / Why This Matters

Pre-releases run every weekday and fail often for unrelated reasons: new RustSec advisories, runner flakes, registry errors. Linking the failed jobs in the message gets triage to the cause in one click.

Proposed Design

In notify-prerelease-failure, keep the existing message and append a "Failed jobs" list. It links every failure or timed_out job in the current run attempt, using the Actions jobs API (actions: read). If the lookup fails, send the message without the list.

Acceptance Criteria

  • A failed pre-release notification links each failed job.
  • The notification still sends when the jobs API call fails.
  • CI.md mentions the job links.

Alternatives Considered

Using Slack Block Kit sections. The existing webhooks use plain text with mrkdwn, which supports the requested layout, so this keeps the change small.

Activity

  1. changed the title [-]ci(release): name the failed stage and failing jobs in pre-release failure notifications[/-] [+]ci(release): list failed jobs in pre-release failure notifications[/+] on Oct 19, 2026
  2. added a commit that references this issue on Oct 19, 2026
    c38e279
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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions