Skip to content

Refactor job summary generation in Docker publish workflow#196

Merged
svengo merged 2 commits into
mainfrom
update/refactor-workflow
May 10, 2026
Merged

Refactor job summary generation in Docker publish workflow#196
svengo merged 2 commits into
mainfrom
update/refactor-workflow

Conversation

@svengo

@svengo svengo commented May 10, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • Chores
    • Improved Docker publish workflow summary generation process for better maintainability.

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 10, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@svengo has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 51 minutes and 54 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 32c63f21-14cf-4136-ba7b-12ab5a478fca

📥 Commits

Reviewing files that changed from the base of the PR and between 34cacb9 and dc92c32.

📒 Files selected for processing (1)
  • .github/workflows/publish-docker.yml

Walkthrough

The pull request refactors the Docker publish workflow to use GitHub Actions step outputs for passing the Docker tag summary between steps, replacing the previous environment variable approach with a heredoc-based output declaration and consolidated summary generation logic.

Changes

Job Summary Output Refactoring

Layer / File(s) Summary
Step Output Declaration
.github/workflows/publish-docker.yml
The job-summary step declares outputs to expose the summary field for downstream consumption.
Summary Generation Logic
.github/workflows/publish-docker.yml
Docker tags are formatted into a multiline SUMMARY string and written to GITHUB_OUTPUT via heredoc, then rendered to GITHUB_STEP_SUMMARY.
Summary Consumption
.github/workflows/publish-docker.yml
The release-notes step reads the summary from steps.job-summary.outputs.summary and includes it in the release body.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • svengo/docker-tor#193: Both PRs modify the same publish-docker workflow to write Docker tag summaries to GITHUB_OUTPUT and GITHUB_STEP_SUMMARY, with the release-notes step consuming the job-summary output.
  • svengo/docker-tor#195: Both PRs refactor how the Docker tag summary is passed between publish-docker workflow steps, with this PR changing summary generation and exposure while the related PR updates the release notes consumption method.

Poem

🐰 Summary output flows so clean,
No env vars cluttering the scene!
Heredoc writes, step outputs shine,
Docker tags and release notes align!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Refactor job summary generation in Docker publish workflow' accurately describes the main change: refactoring how the Docker publish workflow generates and exports job summaries.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch update/refactor-workflow

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codacy-production

codacy-production Bot commented May 10, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/publish-docker.yml:
- Line 109: The line assigning const summary = `${{
steps.job-summary.outputs.summary }}` will break JS when the output contains
newlines or backticks; change the step to pass the job-summary output via an
environment variable (e.g., set env: SUMMARY: ${{
steps.job-summary.outputs.summary }}) and read process.env.SUMMARY (or use the
shell to safely read "$SUMMARY") in the run step instead of direct
interpolation, ensuring the multiline/markdown content is not injected into the
JS source; update references to the summary variable (const summary) to use the
env value.
- Line 97: The printf invocation building SUMMARY currently uses an unquoted
${DOCKER_METADATA_OUTPUT_TAGS} which can break on whitespace/special chars;
update the SUMMARY assignment to use a single printf format string and pass
"$DOCKER_METADATA_OUTPUT_TAGS" as a quoted argument (i.e., keep the format with
"## Docker tags\n\`\`\`\n%s\n\`\`\`\n" and supply
"$DOCKER_METADATA_OUTPUT_TAGS") so the variable is preserved as one argument and
word-splitting is avoided.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 9c4a8e23-4d2f-4b0e-bf73-21bfcd9e0b6b

📥 Commits

Reviewing files that changed from the base of the PR and between 58cb1e2 and 34cacb9.

📒 Files selected for processing (1)
  • .github/workflows/publish-docker.yml

Comment thread .github/workflows/publish-docker.yml
Comment thread .github/workflows/publish-docker.yml Outdated
@svengo
svengo merged commit 3f0e921 into main May 10, 2026
4 checks passed
@svengo
svengo deleted the update/refactor-workflow branch May 10, 2026 18:25
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.

1 participant