Docker: Add arm64 architecture#33
Conversation
🦋 Changeset detectedLatest commit: 2b234d0 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
📝 WalkthroughWalkthroughThis pull request updates the GitHub Actions workflow to enable multi-platform Docker builds by adding a "Set up QEMU" step (docker/setup-qemu-action@v3) and configuring the "Build and push Docker image" step to target linux/amd64 and linux/arm64. It also adds a changeset file declaring a patch release for the package Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/docker-publish.yml (1)
61-61: Consider conditional platform builds to optimize CI performance.The multi-platform configuration is correct and will successfully build for both architectures. However, building for arm64 via QEMU emulation on amd64 runners significantly increases build time. Since this workflow triggers on pull requests, every PR will incur this overhead.
Consider building both platforms only for releases/main pushes, while PRs could build just
linux/amd64for faster validation. This can be achieved using conditional expressions withgithub.event_name.Optional: Conditional platform configuration
You could modify the workflow to conditionally set platforms:
Add a step to determine platforms:
- name: Set platforms id: platforms run: | if [ "${{ github.event_name }}" = "pull_request" ]; then echo "platforms=linux/amd64" >> $GITHUB_OUTPUT else echo "platforms=linux/amd64,linux/arm64" >> $GITHUB_OUTPUT fiThen reference it in the build step:
platforms: ${{ steps.platforms.outputs.platforms }}
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/docker-publish.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build-and-push
🔇 Additional comments (1)
.github/workflows/docker-publish.yml (1)
21-22: QEMU action version is current and appropriate.
docker/setup-qemu-action@v3is the latest stable major version (currently v3.7.0 as of November 2025). Using the major version tag@v3ensures the workflow automatically receives patch updates. No known security advisories exist for this action; security monitoring should focus on underlying components (QEMU, Docker, BuildKit, runc) rather than the action itself.
|
I don't know what npm changed in their security settings, but I can't deploy it and I don't have enough time 🥴 |
Disclaimer: I don't have the package registry set up, so I couldn't verify the full publish workflow.
The check is failing for the same reason:
Note
Expands Docker publishing to produce multi-architecture images.
docker/setup-qemu-action@v3and setsplatforms: linux/amd64,linux/arm64indocker/build-push-action@v6@baruchiro/paperless-mcpWritten by Cursor Bugbot for commit 2b234d0. This will update automatically on new commits. Configure here.
Summary by CodeRabbit
New Features
Chores
✏️ Tip: You can customize this high-level summary in your review settings.