Skip to content

fix(infracost): replace deprecated set-output with GITHUB_OUTPUT#413

Draft
clouddrove-factory[bot] wants to merge 2 commits into
masterfrom
fix/infracost-set-output-deprecation
Draft

fix(infracost): replace deprecated set-output with GITHUB_OUTPUT#413
clouddrove-factory[bot] wants to merge 2 commits into
masterfrom
fix/infracost-set-output-deprecation

Conversation

@clouddrove-factory

@clouddrove-factory clouddrove-factory Bot commented Jul 20, 2026

Copy link
Copy Markdown

Summary

  • The reusable infracost.yml workflow's "Generate Slack message" step wrote outputs with the legacy ::set-output command, which GitHub Actions has deprecated and will disable, producing a deprecation annotation on every consuming run (flagged from clouddrove/cd-baseline run 29692315818, which calls this workflow at @v2.1.6).
  • Rewrites both outputs (slack-message, diffTotalMonthlyCost) to $GITHUB_OUTPUT, using a run-id-scoped heredoc delimiter since slack-message can be multi-line JSON.

Test plan

  • Merge and cut a new release tag (this repo's semantic-release automation handles that on merge to master)
  • Re-run infracost on a consuming PR (e.g. clouddrove/cd-baseline) pinned to the new tag and confirm the run has no set-output deprecation annotation

Job-Issue: 337

The Slack-message step used the legacy ::set-output workflow command,
which GitHub has deprecated and will disable. Write to $GITHUB_OUTPUT
instead, using a run-id-scoped heredoc delimiter for the multi-line
slack-message value.
github.run_id is public and sequential, so using it as the multiline
delimiter let a crafted infracost line in principle terminate the
heredoc early and smuggle extra key=value pairs into $GITHUB_OUTPUT.
Generate the delimiter from openssl rand instead.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants