Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/build-docker/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ inputs:
arch:
required: false
description: 'Architecture'
default: 'amd64'
default: 'arm64'
service:
required: false
description: 'Container to build'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-code-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ env:

jobs:
code-check:
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm

name: ${{ matrix.check == 'ts' && 'TypeScript' || 'Code Lint' }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-deploy-gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
- develop
jobs:
deploy-preview:
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v5
- uses: rharkor/caching-for-turbo@v1.8
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-test-storybook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ env:

jobs:
test:
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm

name: Test Storybook

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-test-unit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ env:

jobs:
test:
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm

name: Unit Tests

Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ env:
jobs:
release-versions:
name: ⚙️ Variables Setup
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm
outputs:
release: ${{ steps.by-tag.outputs.release }}
latest-release: ${{ steps.latest.outputs.latest-release }}
Expand Down Expand Up @@ -121,7 +121,7 @@ jobs:

notify-draft-services:
name: 🚀 Notify external services - draft
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm
needs: [release-versions]
steps:
- uses: actions/checkout@v5
Expand Down Expand Up @@ -164,7 +164,7 @@ jobs:
packages-build:
name: 📦 Build Packages
needs: [release-versions, notify-draft-services]
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm
steps:
- name: Cache build
uses: actions/cache@v4
Expand Down Expand Up @@ -238,7 +238,7 @@ jobs:
build:
name: 📦 Meteor Build (${{ matrix.type }})
needs: [release-versions, packages-build]
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm

strategy:
fail-fast: false
Expand Down Expand Up @@ -370,7 +370,7 @@ jobs:
build-gh-docker-publish:
name: 🚢 Publish Docker Images (ghcr.io)
needs: [build-gh-docker, release-versions]
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm

env:
DOCKER_TAG: ${{ needs.release-versions.outputs.gh-docker-tag }}
Expand Down Expand Up @@ -639,7 +639,7 @@ jobs:

tests-done:
name: ✅ Tests Done
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm
needs: [checks, test-unit, test-api, test-ui, test-api-ee, test-ui-ee, test-ui-ee-watcher]
if: always()
steps:
Expand Down Expand Up @@ -677,7 +677,7 @@ jobs:

deploy:
name: 🚀 Publish build assets
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm
if: github.event_name == 'release' || github.ref == 'refs/heads/develop'
needs: [build-gh-docker-publish, release-versions]

Expand Down Expand Up @@ -731,7 +731,7 @@ jobs:

docker-image-publish:
name: 🚀 Publish Docker Images (DockerHub)
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm
needs: [deploy, release-versions]

env:
Expand Down Expand Up @@ -847,7 +847,7 @@ jobs:

notify-services:
name: 🚀 Notify external services
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm
needs:
- docker-image-publish
- release-versions
Expand Down
28 changes: 10 additions & 18 deletions docker-compose-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,29 @@ services:
rocketchat:
volumes:
- ${COVERAGE_DIR:-/tmp/coverage}:${COVERAGE_DIR:-/tmp/coverage}
platform: linux/amd64
build:
dockerfile: ${GITHUB_WORKSPACE}/apps/meteor/.docker/Dockerfile.alpine
dockerfile: ${GITHUB_WORKSPACE:-}/apps/meteor/.docker/Dockerfile.alpine
context: /tmp/build
x-bake:
platforms:
- linux/amd64
- linux/arm64
args:
DENO_VERSION: ${DENO_VERSION}
image: ghcr.io/${LOWERCASE_REPOSITORY}/rocket.chat:${DOCKER_TAG}${DOCKER_TAG_SUFFIX_ROCKETCHAT}
DENO_VERSION: ${DENO_VERSION:-}
image: ghcr.io/${LOWERCASE_REPOSITORY}/rocket.chat:${DOCKER_TAG}${DOCKER_TAG_SUFFIX_ROCKETCHAT:-}
environment:
- TEST_MODE=true
- DEBUG=${DEBUG}
- DEBUG=${DEBUG:-}
- EXIT_UNHANDLEDPROMISEREJECTION=true
- MONGO_URL=mongodb://mongo:27017/rocketchat?replicaSet=rs0
- 'MONGO_OPLOG_URL=${MONGO_OPLOG_URL:-}'
- 'TRANSPORTER=${TRANSPORTER:-}'
- MOLECULER_LOG_LEVEL=info
- 'ROCKETCHAT_LICENSE=${ENTERPRISE_LICENSE}'
- 'COVERAGE_DIR=${COVERAGE_DIR}'
- 'COVERAGE_FILE_NAME=${COVERAGE_FILE_NAME}'
- 'COVERAGE_REPORTER=${COVERAGE_REPORTER}'
- DISABLE_DB_WATCHERS=${DISABLE_DB_WATCHERS}
- 'ROCKETCHAT_LICENSE=${ENTERPRISE_LICENSE:-}'
- 'COVERAGE_DIR=${COVERAGE_DIR:-}'
- 'COVERAGE_REPORTER=${COVERAGE_REPORTER:-}'
- 'COVERAGE_FILE_NAME=${COVERAGE_FILE_NAME:-}'
- DISABLE_DB_WATCHERS=${DISABLE_DB_WATCHERS:-}
- OVERWRITE_SETTING_Log_Level=${DEBUG_LOG_LEVEL:-0}
- Federation_Service_Enabled=true
- 'Federation_Service_Domain=rc.host'
Expand All @@ -47,7 +46,6 @@ services:
test: wget --no-verbose --tries=1 --spider http://127.0.0.1:3000/livez || exit 1

authorization-service:
platform: linux/amd64
build:
dockerfile: ee/apps/authorization-service/Dockerfile
context: .
Expand All @@ -68,7 +66,6 @@ services:
- nats

account-service:
platform: linux/amd64
build:
dockerfile: ee/apps/account-service/Dockerfile
context: .
Expand All @@ -89,7 +86,6 @@ services:
- nats

presence-service:
platform: linux/amd64
build:
dockerfile: ee/apps/presence-service/Dockerfile
context: .
Expand All @@ -110,7 +106,6 @@ services:
- nats

ddp-streamer-service:
platform: linux/amd64
build:
dockerfile: ee/apps/ddp-streamer/Dockerfile
context: .
Expand All @@ -137,7 +132,6 @@ services:
traefik.http.routers.ddp-streamer-service.rule: PathPrefix(`/websocket`) || PathPrefix(`/sockjs`)

stream-hub-service:
platform: linux/amd64
build:
dockerfile: ee/apps/stream-hub-service/Dockerfile
context: .
Expand All @@ -152,14 +146,13 @@ services:
- MONGO_URL=mongodb://mongo:27017/rocketchat?replicaSet=rs0
- 'TRANSPORTER=${TRANSPORTER:-}'
- MOLECULER_LOG_LEVEL=info
- DISABLE_DB_WATCHERS=${DISABLE_DB_WATCHERS}
- DISABLE_DB_WATCHERS=${DISABLE_DB_WATCHERS:-}
extra_hosts:
- 'host.docker.internal:host-gateway'
depends_on:
- nats

queue-worker-service:
platform: linux/amd64
build:
dockerfile: ee/apps/queue-worker/Dockerfile
context: .
Expand All @@ -180,7 +173,6 @@ services:
- nats

omnichannel-transcript-service:
platform: linux/amd64
build:
dockerfile: ee/apps/omnichannel-transcript/Dockerfile
context: .
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-presets/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"/server"
],
"dependencies": {
"@swc/core": "~1.13.20",
"@swc/core": "1.13.19",

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.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify the @swc/core version downgrade.

The version was changed from ~1.13.20 to 1.13.19, which:

  1. Downgrades to an older patch version
  2. Removes the tilde (~), enforcing strict pinning instead of allowing minor version flexibility

This appears unusual. Clarify whether this downgrade is intentional (e.g., to work around an ARM64 compatibility issue) or unintended.


🌐 Web query:

Does @swc/core version 1.13.20 have known issues with ARM64 architecture?

💡 Result:

Short answer: Yes — v1.13.20 had known ARM64 (and Alpine/musl) binary-loading crashes/segfaults; a fix was merged and released in 1.13.21 that improves ARM64 and Alpine (musl) binary loading/validation. [1][2]

Sources:

  • PR/commit summary describing ARM64 + musl segfaults and the fix (binary loading/validation + workaround). [1]
  • @swc/core changelog showing the 1.13.21 bugfix: "Improve ARM64 and Alpine Linux (musl) binary loading and validation". [2]

Recommendation: upgrade to 1.13.21 (or later).


Upgrade @swc/core to 1.13.21 to fix ARM64 issues.

Version 1.13.20 has known ARM64 (and Alpine/musl) binary-loading crashes/segfaults, with a fix released in 1.13.21. Downgrading to 1.13.19 avoids the bug but leaves an older version in place. Instead, upgrade to 1.13.21 or later where the ARM64 issue is resolved. Additionally, consider using a flexible version constraint (e.g., ^1.13.21) instead of strict pinning to allow patch updates.

🤖 Prompt for AI Agents
In packages/jest-presets/package.json around line 30, the pinned dependency
"@swc/core": "1.13.19" reintroduces an older version that avoids the ARM64 bug
but doesn't include the upstream fix; update the dependency to at least
"1.13.21" (recommended "^1.13.21" to allow patch updates) so the
ARM64/Alpine/musl binary-loading crash is resolved and future patches are picked
up; modify the version string accordingly and run yarn/npm install and tests to
ensure no regressions.

"@swc/jest": "~0.2.39",
"@testing-library/jest-dom": "~6.8.0",
"@types/jest-axe": "~3.5.9",
Expand Down
Loading
Loading