Skip to content

ci: add Docker image release workflow - #430

Closed
slin1237 wants to merge 1 commit into
mainfrom
docker-release
Closed

slin1237 wants to merge 1 commit into
mainfrom
docker-release

Conversation

@slin1237

@slin1237 slin1237 commented Feb 15, 2026 •

Copy link
Copy Markdown
Member

Summary

Add automated Docker image publishing to Docker Hub for multi-platform builds.

What changed

  • .github/workflows/release-docker.yml: New workflow that:
    • Triggers on push to main when docker/Dockerfile or bindings/python/pyproject.toml changes
    • Supports manual dispatch with optional tag override
    • Builds multi-platform images (linux/amd64, linux/arm64) using QEMU + Docker Buildx
    • Pushes versioned (lightseekorg/smg:<version>) and latest tags to Docker Hub
    • Uses GHA layer caching for faster rebuilds
    • Reads version from pyproject.toml by default

Prerequisites

GitHub secrets DOCKERHUB_USERNAME and DOCKERHUB_TOKEN have been configured on the repo.

Test plan

  • Trigger workflow manually via workflow_dispatch to verify build and push
  • Verify both lightseekorg/smg:<version> and lightseekorg/smg:latest appear on Docker Hub
  • Verify multi-platform manifest includes both amd64 and arm64

Summary by CodeRabbit

  • Chores
    • Automated Docker image building and publishing workflow enabled. Multi-architecture Docker images (amd64, arm64) are now built and pushed to Docker Hub with version-specific and latest tags when relevant files change or on manual trigger.

Add automated Docker image publishing to Docker Hub on push to main
when Dockerfile or pyproject.toml changes. Supports manual dispatch
with optional tag override.

- .github/workflows/release-docker.yml: new workflow that builds
  multi-platform images (linux/amd64, linux/arm64) using QEMU and
  Docker Buildx, pushes versioned and latest tags to
  lightseekorg/smg on Docker Hub, with GHA layer caching

Signed-off-by: Simo Lin <simo.lin@oracle.com>
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported.

@github-actions github-actions Bot added the ci CI/CD configuration changes label Feb 15, 2026
@coderabbitai

coderabbitai Bot commented Feb 15, 2026 •

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

A new GitHub Actions workflow automates Docker image building and publishing to Docker Hub. It triggers on pushes to main (for docker/Dockerfile and bindings/python/pyproject.toml changes) or manual dispatch, determines image version from input or configuration file, sets up multi-architecture build infrastructure, and publishes images for both amd64 and arm64 architectures.

Changes

Cohort / File(s) Summary
Docker Release Automation
.github/workflows/release-docker.yml
New GitHub Actions workflow that automates multi-architecture Docker image building and pushing to Docker Hub with dynamic version determination and GitHub-native build caching.

Possibly related issues

  • Setup Docker Release workflow #5: Directly addresses the same objective of adding a GitHub Actions workflow for building and pushing multi-architecture Docker images to Docker Hub.

Suggested labels

ci

Suggested reviewers

  • key4ng
  • CatherineSue
  • XinyueZhang369

Poem

🐇 A workflow appears, so fine and neat,
Docker builds now skip and beat,
Multi-arch magic, amd64 and arm,
To Docker Hub with warming charm,
Automation hops along the way! 🐰✨


Estimated code review effort: 🎯 2 (Simple) | ⏱️ ~15 minutes

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docker-release

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

@mergify

mergify Bot commented Feb 15, 2026

Copy link
Copy Markdown
Contributor

Hi @slin1237, the branch docker-release does not follow our naming convention.

Please use one of the following formats:

  • <type>/<description> — e.g. feat/add-auth, fix/null-pointer
  • <username>/<description> — e.g. changsu/fix-routing

Allowed types: feat, fix, chore, docs, refactor, test, ci, perf

Note: We will bypass this check for existing PRs during the grace period, but PRs with non-conforming branch names will be auto-closed in the future. Please follow the naming convention for all new branches.

@slin1237 slin1237 closed this Feb 15, 2026
@slin1237
slin1237 deleted the docker-release branch February 15, 2026 18:22
@mergify

mergify Bot commented Feb 15, 2026

Copy link
Copy Markdown
Contributor

⚠️ The sha of the head commit of this PR conflicts with #431. Mergify cannot evaluate rules on this PR. ⚠️

@mergify

mergify Bot commented Mar 1, 2026

Copy link
Copy Markdown
Contributor

Hi @slin1237, the branch docker-release does not follow our naming convention.

Please use one of the following formats:

  • <type>/<description> — e.g. feat/add-auth, fix/null-pointer, dependabot/cargo/pyo3-0.28.1
  • <username>/<description> — e.g. changsu/fix-routing

Allowed types: feat, fix, chore, docs, refactor, test, ci, perf

Note: PRs with non-conforming branch names will be auto-closed. Please follow the naming convention for all branches.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci CI/CD configuration changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant