Skip to content

Comments

Docker: Add arm64 architecture#33

Merged
baruchiro merged 5 commits intobaruchiro:mainfrom
NickChristensen:main
Dec 30, 2025
Merged

Docker: Add arm64 architecture#33
baruchiro merged 5 commits intobaruchiro:mainfrom
NickChristensen:main

Conversation

@NickChristensen
Copy link

@NickChristensen NickChristensen commented Dec 28, 2025

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:

ERROR: failed to push ghcr.io/baruchiro/paperless-mcp:pr-33: denied: installation not allowed to Write organization package

Note

Expands Docker publishing to produce multi-architecture images.

  • Adds docker/setup-qemu-action@v3 and sets platforms: linux/amd64,linux/arm64 in docker/build-push-action@v6
  • Updates release metadata with a changeset marking a patch for @baruchiro/paperless-mcp

Written by Cursor Bugbot for commit 2b234d0. This will update automatically on new commits. Configure here.

Summary by CodeRabbit

  • New Features

    • Docker images now support ARM64 in addition to AMD64, enabling use on more platforms.
  • Chores

    • Build pipeline updated to produce multi-architecture container images for easier distribution and installation across devices.

✏️ Tip: You can customize this high-level summary in your review settings.

@changeset-bot
Copy link

changeset-bot bot commented Dec 28, 2025

🦋 Changeset detected

Latest commit: 2b234d0

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@baruchiro/paperless-mcp Patch

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

@coderabbitai
Copy link

coderabbitai bot commented Dec 28, 2025

📝 Walkthrough

Walkthrough

This 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 baruchiro/paperless-mcp and notes Docker support for arm64.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding arm64 architecture support to Docker builds in the CI workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

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/amd64 for faster validation. This can be achieved using conditional expressions with github.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
    fi

Then reference it in the build step:

platforms: ${{ steps.platforms.outputs.platforms }}
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ace151f and af8546e.

📒 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@v3 is the latest stable major version (currently v3.7.0 as of November 2025). Using the major version tag @v3 ensures 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.

@baruchiro baruchiro merged commit 5a5d6d2 into baruchiro:main Dec 30, 2025
3 checks passed
@baruchiro
Copy link
Owner

I don't know what npm changed in their security settings, but I can't deploy it and I don't have enough time 🥴

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