Skip to content

ci(docker): use reusable image builder workflow#457

Merged
bzp2010 merged 1 commit into
mainfrom
bzp/ci-docker-build-by-reuse-workflow
Jun 16, 2026
Merged

ci(docker): use reusable image builder workflow#457
bzp2010 merged 1 commit into
mainfrom
bzp/ci-docker-build-by-reuse-workflow

Conversation

@bzp2010

@bzp2010 bzp2010 commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Description

Use Docker's official reusable workflow for image build, https://github.com/docker/github-builder.

  • Use native arm64 runner, no more QEMU, significantly reduce build time
  • Sign image by cosign by default

Checklist

  • I have explained the need for this PR and the problem it solves
  • I have explained the changes or the new features added to this PR
  • I have added tests corresponding to this change
  • I have updated the documentation to reflect this change
  • I have verified that this change is backward compatible

Summary by CodeRabbit

  • Chores
    • Updated package manager to pnpm 11.7.0
    • Bumped development dependencies, including vitest to 4.1.8
    • Enhanced CI/CD workflow with improved build configuration architecture

@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The Docker release workflow is refactored to delegate all build, push, and signing steps to a reusable docker/github-builder workflow, passing platforms, registry destinations, tag rules, and credentials as inputs and secrets. Separately, pnpm is bumped to 11.7.0 and pnpm-workspace.yaml bumps vitest to ^4.1.8 with minor quoting normalization.

Changes

Docker Release Workflow Refactor

Layer / File(s) Summary
Reusable workflow invocation replacing inline build/push/sign
.github/workflows/docker.yaml
jobs.build is replaced with a uses call to docker/github-builder/.github/workflows/[email protected]. Adds packages: write and id-token: write permissions. Passes Dockerfile path, linux/amd64+linux/arm64 platforms, conditional push, Docker Hub and GHCR image destinations, semver and dev tag rules, and registry credentials via secrets.registry-auths. All prior inline checkout, buildx/QEMU setup, registry logins, metadata generation, build-and-push, and cosign signing steps are removed.

pnpm Version and Workspace Config Updates

Layer / File(s) Summary
pnpm version bump and workspace catalog normalization
package.json, pnpm-workspace.yaml
packageManager field updated from [email protected] to [email protected] with a new sha512 hash. vitest bumped from ^4.1.7 to ^4.1.8. Catalog entries for @types/lodash-es, @types/semver, and zod, plus config keys catalogMode, publicHoistPattern, strictPeerDependencies, and onlyBuiltDependencies, are normalized from double-quoted to single-quoted strings with no value changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
E2e Test Quality Review ⚠️ Warning PR lacks E2E tests for docker.yaml workflow changes. Contributor explicitly did not check "tests for this change" and "documentation updates" boxes, but claimed backward compatibility was verified... Add E2E tests validating the docker.yaml workflow (image builds, registry pushes, cosign signing, arm64 support). Document the workflow changes and provide test evidence for backward compatibility claims.
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: refactoring the Docker workflow to use a reusable docker/github-builder workflow instead of inline build steps.
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.
Security Check ✅ Passed PR refactors Docker workflow to use official reusable workflow with proper credential handling via GitHub secrets, correct least-privilege permissions, and no hardcoded secrets detected.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ 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 bzp/ci-docker-build-by-reuse-workflow

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

@bzp2010
bzp2010 requested review from LiteSun, guoqqqi and juzhiyuan June 16, 2026 06:30
@bzp2010
bzp2010 merged commit 0861eb7 into main Jun 16, 2026
32 checks passed
@bzp2010
bzp2010 deleted the bzp/ci-docker-build-by-reuse-workflow branch June 16, 2026 06:30
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.

2 participants