Skip to content
Merged
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
36 changes: 35 additions & 1 deletion .github/workflows/build_node_shared.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
strategy:
matrix:
include:
# Linux builds
# Linux x64 builds
- os: ubuntu-latest
platform: linux
arch: x64
Expand All @@ -28,14 +28,39 @@ jobs:
container: ghcr.io/ten-framework/ten_building_ubuntu2204
lib_name: libnode.so.127
nproc_cmd: nproc
# Linux ARM64 builds
- os: ubuntu-24.04-arm
platform: linux
arch: arm64
compiler: gcc
container: ""
lib_name: libnode.so.127
nproc_cmd: nproc
- os: ubuntu-24.04-arm
platform: linux
arch: arm64
compiler: clang
container: ""
lib_name: libnode.so.127
nproc_cmd: nproc
# macOS x64 builds
# Note: macOS should use Clang (Apple's official toolchain), GCC has compatibility issues
- os: macos-13
platform: mac
arch: x64
compiler: clang
container: ""
lib_name: libnode.127.dylib
nproc_cmd: sysctl -n hw.ncpu
# macOS ARM64 builds
# Note: Apple Silicon only supports Clang
- os: macos-14
platform: mac
arch: arm64
compiler: clang
container: ""
lib_name: libnode.127.dylib
nproc_cmd: sysctl -n hw.ncpu

runs-on: ${{ matrix.os }}
container: ${{ matrix.container != '' && matrix.container || null }}
Expand All @@ -47,6 +72,15 @@ jobs:
repository: nodejs/node
ref: v22.12.0

- name: Setup dependencies (Linux ARM64)
if: matrix.platform == 'linux' && matrix.arch == 'arm64'
run: |
sudo apt-get update
sudo apt-get install -y python3 python3-pip build-essential
if [ "${{ matrix.compiler }}" = "clang" ]; then
sudo apt-get install -y clang
fi

- name: Setup Python (macOS)
if: matrix.platform == 'mac'
uses: actions/setup-python@v5
Expand Down
Loading