Skip to content

Emit release-notes via $GITHUB_OUTPUT instead of disabled set-output#23

Merged
osc135 merged 1 commit into
mainfrom
oa/fix-set-output-deprecation
Jun 26, 2026
Merged

Emit release-notes via $GITHUB_OUTPUT instead of disabled set-output#23
osc135 merged 1 commit into
mainfrom
oa/fix-set-output-deprecation

Conversation

@osc135

@osc135 osc135 commented Jun 26, 2026

Copy link
Copy Markdown
Member

What this PR does

Fixes the action so it stops returning empty output. It now writes the generated release notes to the step output via the $GITHUB_OUTPUT environment file instead of the legacy ::set-output workflow command.

Why

GitHub disabled ::set-output in recent runner versions (it now only prints a deprecation warning and ignores the command). Because this action returned its result with echo "::set-output name=release-notes::...", the release-notes output silently became empty. Every workflow that consumes this action — vendor-portal, replicated-sdk, embedded-cluster, kots, etc. release notes — then generated nothing and opened no PR, while the job still exited 0 (so it looked successful).

This is why Vendor Platform release notes have had no PRs since ~June 8.

The change

  • Emit release-notes via $GITHUB_OUTPUT using a random heredoc delimiter (multi-line safe).
  • Drop the %25/%0A/%0D escaping — that was only required for set-output's encoding, and it also mangled literal % signs in release notes.

Workflows pin this action at @main and it is built from source each run, so consumers recover automatically once this merges — no changes needed in replicated-docs or any product repo.

Verification

Simulated the output block with multi-line content containing %, <>, backticks, and blank lines; the value written to $GITHUB_OUTPUT round-trips and parses back identically.

Note: this fixes generation going forward. The ~2.5 weeks of already-missed notes (June 8 → now) will need a separate catch-up run over that version range.

…tput

GitHub disabled the legacy ::set-output workflow command in recent runner
versions, so the action's output was silently dropped — every consumer
(vendor-portal, sdk, embedded-cluster, kots, ... release notes) started
generating empty notes and opening no PR, while the job still exited 0.

Write the multi-line result to the step output via the environment file
with a random heredoc delimiter. Drops the %25/%0A/%0D escaping, which
was only needed for set-output's encoding (and mangled literal % signs).
@osc135 osc135 merged commit 9f40860 into main Jun 26, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants