Skip to content

ci(cd): build multi-arch images (amd64 + arm64)#64

Draft
torrid-fish wants to merge 1 commit into
mainfrom
ci/multi-arch-images
Draft

ci(cd): build multi-arch images (amd64 + arm64)#64
torrid-fish wants to merge 1 commit into
mainfrom
ci/multi-arch-images

Conversation

@torrid-fish

Copy link
Copy Markdown
Member

目的

Publish arm64 images alongside amd64 so the service runs natively on the arm64 (Oracle Ampere) deploy host. Images are amd64-only today.

方法/實作說明

Add linux/arm64 to the build-push platforms in the CD workflow. QEMU and Buildx are already configured, so the published tags (:stable / :dev / semver / sha-*) become multi-arch manifest lists.

  • 主要修改:
    • .github/workflows/cd.yml
  • 關鍵實作:
    • Multi-platform buildx build via docker/build-push-action (provenance / sbom unchanged).

關聯 Issue

None.

附註

arm64 builds run under QEMU (fugashi build + UniDic download), so CD will be noticeably slower.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions

Copy link
Copy Markdown

🛡️ PR Quality Check Summary

PR Title: Passed (Length: 47/75, Format: OK). ci(cd): build multi-arch images (amd64 + arm64)
Branch Name: Follows naming convention (ci/multi-arch-images)
Commit Messages: All 1 commit(s) passed (Length, Format, Case)
Conflicts: No merge conflict markers found
Python Quality: All checks passed.


🎉 All checks passed!

@torrid-fish torrid-fish marked this pull request as draft July 16, 2026 08:51
torrid-fish added a commit that referenced this pull request Jul 16, 2026
Build the image on PRs (no push) so a broken Dockerfile — the
pyopenjtalk compile and the open_jtalk_dic / UniDic bake layers that
make the runtime self-contained — fails the PR instead of the release
build. A --network none smoke test runs the in-process OpenJTalk
frontend to confirm the baked dictionaries resolve offline.

amd64 only; arm64 PR gating is left to the multi-arch work in #64.
torrid-fish added a commit that referenced this pull request Jul 16, 2026
Build the image on PRs (no push) so a broken Dockerfile — the
pyopenjtalk compile and the open_jtalk_dic / UniDic bake layers that
make the runtime self-contained — fails the PR instead of the release
build. A --network none smoke test runs the in-process OpenJTalk
frontend to confirm the baked dictionaries resolve offline.

amd64 only; arm64 PR gating is left to the multi-arch work in #64.
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