Skip to content

feat(BA-7268): add docker-images workflow to build and push service images via OIDC - #13700

Open
kyujin-cho wants to merge 4 commits into
mainfrom
feat/BA-7268/docker-images-workflow-v2
Open

feat(BA-7268): add docker-images workflow to build and push service images via OIDC#13700
kyujin-cho wants to merge 4 commits into
mainfrom
feat/BA-7268/docker-images-workflow-v2

Conversation

@kyujin-cho

Copy link
Copy Markdown
Member

Replaces #13595.

Resolves BA-7268
Resolves #13586

@kyujin-cho
kyujin-cho requested a review from a team as a code owner August 11, 2026 13:41
Copilot AI balanced review requested due to automatic review settings August 11, 2026 13:41
@github-actions github-actions Bot added the size:L 100~500 LoC label Aug 11, 2026
13595.feature.md -> 13700.feature.md

Co-authored-by: octodog <mu001@lablup.com>

Copilot AI 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.

Pull request overview

Adds reusable multi-architecture Docker image publishing with Docker Hub OIDC authentication.

Changes:

  • Builds and pushes discovered service images for AMD64 and ARM64.
  • Adds release-version normalization and image tagging.
  • Reduces Docker build context and documents the workflow.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
.github/workflows/docker-images.yml Defines image build and publishing workflow.
.dockerignore Excludes unnecessary source directories.
scripts/normalize-version.py Normalizes versions for Docker tags.
scripts/README.md Documents workflow helper scripts.
changes/13595.feature.md Adds the feature changelog entry.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +100 to +101
- name: Assert the tag matches the VERSION file
if: github.ref_type == 'tag'
Comment on lines +154 to +155
run-id: ${{ inputs.wheels-run-id || github.run_id }}
github-token: ${{ github.token }}
Comment on lines +163 to +166
- name: Login to Docker Hub via OIDC
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
env:
DOCKERHUB_OIDC_CONNECTIONID: ${{ vars.DOCKERHUB_OIDC_CONNECTION_ID }}
Comment on lines +178 to +179
type=raw,value=${{ needs.prepare.outputs.pkgver }}
type=raw,value=latest,enable=${{ needs.prepare.outputs.is-prerelease == 'false' }}
Comment on lines +12 to +31
import sys

from packaging.version import InvalidVersion, Version


def main() -> None:
raw = sys.argv[1].strip()
try:
version = Version(raw)
except InvalidVersion:
print(f"error: {raw!r} is not a valid PEP 440 version", file=sys.stderr)
sys.exit(1)
if version.local is not None:
print(
f"error: {raw!r} has a local version segment"
" ('+' is not a legal character in a docker tag)",
file=sys.stderr,
)
sys.exit(1)
print(version)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100~500 LoC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement docker-images.yml workflow: build and push service images with OIDC login

3 participants