Skip to content

feat(infra): Publish Docker images on release#1523

Open
andrey-fomin wants to merge 1 commit intocrate-ci:masterfrom
andrey-fomin:publish-docker-images
Open

feat(infra): Publish Docker images on release#1523
andrey-fomin wants to merge 1 commit intocrate-ci:masterfrom
andrey-fomin:publish-docker-images

Conversation

@andrey-fomin
Copy link
Copy Markdown

Provide an official Docker Hub distribution for releases so users can pull typos without building from source or relying on stale third-party images.

Refs: #427
Related: #1116, #1183

Copilot AI review requested due to automatic review settings March 12, 2026 21:47
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds official Docker Hub publishing to the release pipeline so users can pull a maintained crateci/typos image instead of building from source or relying on third-party images (refs #427).

Changes:

  • Document Docker as an installation/usage option in the README.
  • Extend the post-release workflow to build per-arch images, then publish a multi-arch manifest with semver + latest tags to Docker Hub.
  • Add a CI job to validate the Docker build on amd64 and arm64.

Reviewed changes

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

File Description
README.md Adds Docker pull instructions for the official image.
.github/workflows/post-release.yml Builds/pushes per-arch images and merges them into a multi-arch, semver-tagged Docker Hub release image.
.github/workflows/ci.yml Adds a Docker build validation job (amd64 + arm64) as part of CI.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md Outdated
Comment thread .github/workflows/ci.yml
Comment on lines +64 to +72
include:
- platform: linux/amd64
runner: ubuntu-latest
- platform: linux/arm64
runner: ubuntu-24.04-arm
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout repository
uses: actions/checkout@v6
Copy link

Copilot AI Mar 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This adds an ARM64 Docker build to the PR CI matrix using the ubuntu-24.04-arm runner. That will run on every PR and can significantly increase CI time/cost and may be impacted by ARM runner availability. Consider running the ARM64 Docker build only on push to master/tags (or a scheduled workflow), or building ARM64 via Buildx+QEMU on ubuntu-latest if the goal is just to validate the Dockerfile.

Suggested change
include:
- platform: linux/amd64
runner: ubuntu-latest
- platform: linux/arm64
runner: ubuntu-24.04-arm
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout repository
uses: actions/checkout@v6
platform: ["linux/amd64", "linux/arm64"]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Set up QEMU
uses: docker/setup-qemu-action@v3

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @epage. Which approach do you think makes the most sense here?

  • Keep the current setup and use a separate ARM64 runner.
  • Skip building the ARM64 Docker image in CI, assuming that a successful AMD64 build makes an ARM64 failure unlikely.
  • Use QEMU for ARM64 builds.

@andrey-fomin
Copy link
Copy Markdown
Author

Before enabling this workflow, repo owners will need to:

  • create a Docker Hub access token with permission to push to that repository
  • add DOCKERHUB_USERNAME as a GitHub Actions variable
  • add DOCKERHUB_TOKEN as a GitHub Actions secret

One thing to confirm before merging:

  • what is the correct Docker Hub user/org account for the official image?
    I used crateci/typos as a placeholder since Docker Hub account names cannot contain.

For context, I also created andrey-fomin/typos-docker to build Docker images for typos:
https://github.com/andrey-fomin/typos-docker

Provide an official Docker Hub distribution for releases so users can pull
typos without building from source or relying on stale third-party images.

Refs: crate-ci#427
Related: crate-ci#1116, crate-ci#1183
@andrey-fomin andrey-fomin force-pushed the publish-docker-images branch from 75cb72f to 4b40c36 Compare March 12, 2026 22:00
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