Skip to content

fix: arm64 docker image - #42136

Merged
sampaiodiego merged 2 commits into
developfrom
fix-arm64-docker-image
Sep 15, 2026
Merged

sampaiodiego merged 2 commits into
developfrom
fix-arm64-docker-image

Conversation

@sampaiodiego

@sampaiodiego sampaiodiego commented Sep 14, 2026 •

Copy link
Copy Markdown
Member

Proposed changes (including videos or screenshots)

Issue(s)

Steps to test or reproduce

Further comments

Review in cubic

Summary by CodeRabbit

  • Bug Fixes
    • Fixed Docker startup failures on arm64 Alpine environments caused by incompatible native binaries.
    • Ensured the correct musl-compatible binaries are selected at runtime for reliable container startup.

Task: ARCH-2423

sampaiodiego and others added 2 commits September 14, 2026 20:15
The Meteor bundle ships build/Release output compiled on the glibc-based CI
host. node-gyp-build prefers build/Release over prebuilds/, so that binary
shadows the musl one from the same package and fails to load at runtime.

`npm install` rebuilt argon2 against musl on amd64 but not on arm64, leaving
the arm64 image crashing at boot while the amd64 one started fine. Remove the
carried-in build output wherever the package also ships prebuilds, so the
correct binary is selected on both architectures.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@dionisio-bot

dionisio-bot Bot commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Looks like this PR is ready to merge! πŸŽ‰
If you have any trouble, please check the PR guidelines

@changeset-bot

changeset-bot Bot commented Sep 14, 2026

Copy link
Copy Markdown

πŸ¦‹ Changeset detected

Latest commit: 5558837

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

This PR includes changesets to release 3 packages
Name Type
@rocket.chat/meteor Patch
@rocket.chat/core-typings Patch
@rocket.chat/rest-typings 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

coderabbitai Bot commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. πŸŽ‰

ℹ️ Recent review info
βš™οΈ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: c7771fe2-31a3-426e-b138-704fe0fde322

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 7a83706 and 5558837.

πŸ“’ Files selected for processing (2)
  • .changeset/argon2-musl-prebuild.md
  • apps/meteor/.docker/Dockerfile.alpine

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.

πŸ“œ Recent review details
⏰ Context from checks skipped due to timeout. (3)
  • GitHub Check: cubic Β· AI code reviewer
  • GitHub Check: Hacktron Security Check
  • GitHub Check: πŸ”¨ Test UI (EE) / MongoDB 8.0 coverage (4/5)
πŸ”‡ Additional comments (2)
.changeset/argon2-musl-prebuild.md (1)

1-5: LGTM!

apps/meteor/.docker/Dockerfile.alpine (1)

25-26: 🩺 Stability & Availability

The build/Release directory is not a valid musl fallback. apps/meteor/.docker/Dockerfile.alpine:22-24 states that this output is compiled against glibc and fails on Alpine when loaded. The inspected bcrypt@6.0.0 and isolated-vm@6.2.0 packages both include ARM64 and x64 musl prebuilds. sodium-native@4.3.3 is matched by the search, but its loader does not use build/Release, and its Linux binaries require libc.so.6, so it fails on Alpine regardless of this deletion. The proposed fallback-preservation fix does not address an established failure.


Walkthrough

The Alpine Docker build removes stale glibc native-module builds so node-gyp-build uses musl prebuilds. A patch changeset documents the arm64 startup fix.

Changes

Alpine native module fix

Layer / File(s) Summary
Remove stale native builds and record the release
apps/meteor/.docker/Dockerfile.alpine, .changeset/argon2-musl-prebuild.md
The Alpine build removes sibling build directories for native modules with prebuilds directories. The changeset documents the arm64 argon2.node startup failure and declares a patch release.

Priority: βž– Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix Β· Severity of issue fixed: Medium

Suggested labels: type: bug

Suggested reviewers: ggazzo

Merge Risk: βšͺ Minimal Β· up to 55588

No actionable regression remains established for this Alpine native-module cleanup.

πŸš₯ Pre-merge checks | βœ… 5
βœ… Passed checks (5 passed)
Check name Status Explanation
Description Check βœ… Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check βœ… Passed The title clearly identifies the main change: fixing the ARM64 Docker image. It is concise and related to the removal of incompatible native addon binaries.
Docstring Coverage βœ… Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
✨ Finishing Touches πŸ’‘ 1
πŸ› οΈ Fix failing CI checks πŸ’‘
  • Create stacked PR
  • Commit on current branch

Warning

Errors were encountered while retrieving linked issues.

Errors (1)
  • JIRA integration encountered authorization issues. Please disconnect and reconnect the integration in the CodeRabbit UI.

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.

@codecov

codecov Bot commented Sep 14, 2026 •

Copy link
Copy Markdown

Codecov Report

βœ… All modified and coverable lines are covered by tests.
βœ… Project coverage is 69.50%. Comparing base (015e4dc) to head (5558837).
⚠️ Report is 3 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop   #42136      +/-   ##
===========================================
+ Coverage    69.43%   69.50%   +0.06%     
===========================================
  Files         4315     4315              
  Lines       177504   177517      +13     
  Branches     31503    31575      +72     
===========================================
+ Hits        123254   123378     +124     
+ Misses       49148    49025     -123     
- Partials      5102     5114      +12     
Flag Coverage Ξ”
unit 70.66% <ΓΈ> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

πŸš€ New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • πŸ“¦ JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sampaiodiego
sampaiodiego marked this pull request as ready for review September 15, 2026 00:07

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found across 2 files

Re-trigger cubic

@sampaiodiego sampaiodiego added this to the 8.9.0 milestone Sep 15, 2026
@sampaiodiego

Copy link
Copy Markdown
Member Author

/jira ARCH

@sampaiodiego sampaiodiego added the stat: QA assured Means it has been tested and approved by a company insider label Sep 15, 2026
@dionisio-bot dionisio-bot Bot added the stat: ready to merge PR tested and approved waiting for merge label Sep 15, 2026
@sampaiodiego
sampaiodiego merged commit cfe9a3b into develop Sep 15, 2026
96 of 101 checks passed
@sampaiodiego
sampaiodiego deleted the fix-arm64-docker-image branch September 15, 2026 03:31
This was referenced Sep 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stat: QA assured Means it has been tested and approved by a company insider stat: ready to merge PR tested and approved waiting for merge type: bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants