Skip to content

Commit 966bd19

Browse files
authored
Merge pull request #3 from TEN-framework/test-macos-workflow
feat: complete workflow
2 parents 96834eb + 3755745 commit 966bd19

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

.github/workflows/build_node_shared.yml

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
strategy:
1414
matrix:
1515
include:
16-
# Linux builds
16+
# Linux x64 builds
1717
- os: ubuntu-latest
1818
platform: linux
1919
arch: x64
@@ -28,14 +28,39 @@ jobs:
2828
container: ghcr.io/ten-framework/ten_building_ubuntu2204
2929
lib_name: libnode.so.127
3030
nproc_cmd: nproc
31+
# Linux ARM64 builds
32+
- os: ubuntu-24.04-arm
33+
platform: linux
34+
arch: arm64
35+
compiler: gcc
36+
container: ""
37+
lib_name: libnode.so.127
38+
nproc_cmd: nproc
39+
- os: ubuntu-24.04-arm
40+
platform: linux
41+
arch: arm64
42+
compiler: clang
43+
container: ""
44+
lib_name: libnode.so.127
45+
nproc_cmd: nproc
3146
# macOS x64 builds
47+
# Note: macOS should use Clang (Apple's official toolchain), GCC has compatibility issues
3248
- os: macos-13
3349
platform: mac
3450
arch: x64
3551
compiler: clang
3652
container: ""
3753
lib_name: libnode.127.dylib
3854
nproc_cmd: sysctl -n hw.ncpu
55+
# macOS ARM64 builds
56+
# Note: Apple Silicon only supports Clang
57+
- os: macos-14
58+
platform: mac
59+
arch: arm64
60+
compiler: clang
61+
container: ""
62+
lib_name: libnode.127.dylib
63+
nproc_cmd: sysctl -n hw.ncpu
3964

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

75+
- name: Setup dependencies (Linux ARM64)
76+
if: matrix.platform == 'linux' && matrix.arch == 'arm64'
77+
run: |
78+
sudo apt-get update
79+
sudo apt-get install -y python3 python3-pip build-essential
80+
if [ "${{ matrix.compiler }}" = "clang" ]; then
81+
sudo apt-get install -y clang
82+
fi
83+
5084
- name: Setup Python (macOS)
5185
if: matrix.platform == 'mac'
5286
uses: actions/setup-python@v5

0 commit comments

Comments
 (0)