Skip to content

ci: added publishing to dockerhub - #35

Merged
darksworm merged 1 commit into
mainfrom
dockerhub
Sep 25, 2026
Merged

darksworm merged 1 commit into
mainfrom
dockerhub

Conversation

@darksworm

@darksworm darksworm commented Sep 25, 2026 •

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • Chores
    • Release builds now publish the container image under both its GitHub Container Registry name and the configured Docker Hub name.

@coderabbitai

coderabbitai Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: cc26b9e3-e776-4cd7-a0df-5e9423dff1aa

📥 Commits

Reviewing files that changed from the base of the PR and between e58dd2f and 7d001bd.

📒 Files selected for processing (2)
  • .github/workflows/publish-image.yml
  • .github/workflows/release-pipeline.yml

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


Walkthrough

The release pipeline passes Docker Hub credentials to the reusable image publishing workflow. That workflow logs in to Docker Hub and configures image metadata for Docker Hub and GHCR.

Changes

Image Publishing

Layer / File(s) Summary
Configure Docker Hub publishing
.github/workflows/publish-image.yml, .github/workflows/release-pipeline.yml
The release pipeline passes Docker Hub credentials to the reusable workflow. The reusable workflow requires those credentials, logs in to Docker Hub, and includes both Docker Hub and GHCR image targets.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to 7d001

The release workflow is configured to publish to Docker Hub and GHCR, with no actionable merge risk identified.

Architecture Summary

Architecture risk: 🔵 Low · up to 7d001

The changed surface does not map to a changed system, dependency edge, entrypoint, or external dependency.

Changed systems: None identified.

Architecture concerns
No architecture-level concerns identified.

Review details

Before / after behavior

  • observed — Modified behavior in .github/workflows/publish-image.yml: The reusable workflow now requires the Docker Hub username and password secrets.
  • observed — Modified behavior in .github/workflows/publish-image.yml: The workflow adds Docker Hub login using the required secrets and expands image metadata from the single GHCR image to include the configured Docker Hub image name.
  • observed — Modified behavior in .github/workflows/release-pipeline.yml: The test job comment now says only the Docker Hub credentials required by the reusable workflow are passed, replacing the comment that it received no inherited secrets and needed only GITHUB_TOKEN.
  • observed — Modified behavior in .github/workflows/release-pipeline.yml: publish-image now passes DOCKERHUB_USERNAME and DOCKERHUB_PASSWORD from repository secrets to the reusable workflow.
🚥 Pre-merge checks | ✅ 5 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Tests ⚠️ Warning The pull request adds Docker Hub publishing, but it adds no tests. The reviewed diff changes only .github/workflows/publish-image.yml and .github/workflows/release-pipeline.yml; no test file chang… Add an automated workflow-contract test. Parse both workflow files and assert that publish-image.yml requires DOCKERHUB_USERNAME and DOCKERHUB_PASSWORD, logs in with those secrets, and publishes `${{ secrets.DOCKERHUB_USERNAME }}/door…
✅ 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 clearly and concisely describes the main change: adding Docker Hub image publishing to CI.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
Full details: Tests

Explanation

The pull request adds Docker Hub publishing, but it adds no tests. The reviewed diff changes only .github/workflows/publish-image.yml and .github/workflows/release-pipeline.yml; no test file changes exist. The existing .github/workflows/test.yml runs Go tests, static checks, and a local image build. It does not verify Docker Hub login, Docker Hub image metadata, required reusable-workflow secrets, or credential mapping. Therefore, the main new feature is not covered by a meaningful test.

Resolution

Add an automated workflow-contract test. Parse both workflow files and assert that publish-image.yml requires DOCKERHUB_USERNAME and DOCKERHUB_PASSWORD, logs in with those secrets, and publishes ${{ secrets.DOCKERHUB_USERNAME }}/doormouse alongside the GHCR image. Assert that release-pipeline.yml maps both repository secrets to the reusable workflow. Run this test in the CI test workflow, with YAML/action syntax validation if available.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

@darksworm
darksworm merged commit 2fed30a into main Sep 25, 2026
3 checks passed
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