Skip to content

feat(ci): surface warning when AI release summary is skipped - #42

Open
drewferg11-hermes-bot[bot] wants to merge 1 commit into
mainfrom
feat/release-wf-ai-summary-warning
Open

feat(ci): surface warning when AI release summary is skipped#42
drewferg11-hermes-bot[bot] wants to merge 1 commit into
mainfrom
feat/release-wf-ai-summary-warning

Conversation

@drewferg11-hermes-bot

Copy link
Copy Markdown

Problem

The v1.4.0-rc.0 release silently published without a Summary section. The root cause: the AI release summary step in release.yml uses actions/ai-inference@v1 with GitHub Models (openai/gpt-4o-mini), which is being retired — the inference call hit a 410 "scheduled retirement brownout". Because the step has continue-on-error: true, the failure was swallowed, ai-summary.txt was written as empty, and render_release_notes.py silently omitted the Summary section.

The workflow run showed green ✓ with 2 errors buried in the Annotations tab — easy to miss.

Solution

Rather than modifying the workflow file (which the GitHub App can't push — workflow files require a separate workflows permission), this puts the warning in render_release_notes.py — the script that already reads ai-summary.txt and is called by the workflow's run: step.

When the AI summary file is missing or empty, the script now prints a ::warning:: workflow annotation to stdout. GitHub Actions captures these from any run: step's output, so the warning appears as a yellow annotation on the Actions run summary page — visible at a glance, not buried.

Two cases are handled:

  • File missing (step was skipped entirely): ::warning::AI release summary file is missing...
  • File empty (step ran but inference failed): ::warning::AI release summary was unavailable (empty file)...

What this does NOT do

  • ❌ Does not block the release — the script still omits the Summary section and exits normally
  • ❌ Does not fix the underlying issue (GitHub Models retirement) — that's a separate decision (switch to an API key, or drop the AI summary)
  • ✅ Just makes the silent failure visible so it doesn't ship unnoticed again

Testing

The ::warning:: annotation format is GitHub Actions standard — any line printed to stdout matching ::warning::message within a run: step is captured as a workflow annotation. This works from Python scripts called within run: steps.

Follow-up

The real fix for the missing summaries is either:

  1. Switch from actions/ai-inference@v1 to a direct OpenAI API call with a repo secret (OPENAI_API_KEY)
  2. Drop the AI summary and write the one-paragraph summary manually

This PR is just the visibility layer so you know when it happens.

The AI release summary step uses actions/ai-inference@v1 with GitHub
Models (openai/gpt-4o-mini), which is being retired — the v1.4.0-rc.0
release silently published without a Summary section because the
inference call hit a 410 "scheduled retirement brownout" and
continue-on-error: true swallowed the failure.

This modifies render_release_notes.py to emit a ::warning:: workflow
annotation when the AI summary file is missing or empty, so the silent
omission is visible on the Actions run summary page instead of buried
in step annotations. The warning fires at the exact point where the
empty summary matters (when rendering release notes).

Does not block the release — the script still omits the Summary
section and exits normally, it just prints the warning to stdout,
which GitHub Actions captures as an annotation on the workflow run.
@github-actions github-actions Bot added the enhancement New feature or request label Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants