Skip to content

Commit dd2295f

Browse files
committed
Build for linux-arm64-musl
1 parent 115a518 commit dd2295f

File tree

1 file changed

+27
-9
lines changed

1 file changed

+27
-9
lines changed

.github/workflows/build.yml

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,19 @@ jobs:
2424
fail-fast: false
2525
matrix:
2626
include:
27-
- { os: ubuntu-22.04, target: linux, platform: linux-x64, container: 'alpine:latest', libc: musl }
28-
- { os: ubuntu-20.04, target: linux, platform: linux-x64 }
29-
- { os: ubuntu-20.04, target: linux, platform: linux-arm64 }
30-
- { os: macos-latest, target: darwin, platform: darwin-x64 }
31-
- { os: macos-latest, target: darwin, platform: darwin-arm64 }
32-
- { os: windows-latest, target: windows, platform: win32-ia32 }
33-
- { os: windows-latest, target: windows, platform: win32-x64 }
27+
- { os: ubuntu-22.04, target: linux, platform: linux-x64, container: 'alpine:latest', libc: musl }
28+
- { os: ubuntu-20.04, target: linux, platform: linux-x64 }
29+
- { os: ubuntu-20.04, target: linux, platform: linux-arm64 }
30+
- { os: ubuntu-22.04-arm, target: linux, platform: linux-arm64, container: 'alpine:latest', libc: musl }
31+
- { os: macos-latest, target: darwin, platform: darwin-x64 }
32+
- { os: macos-latest, target: darwin, platform: darwin-arm64 }
33+
- { os: windows-latest, target: windows, platform: win32-ia32 }
34+
- { os: windows-latest, target: windows, platform: win32-x64 }
3435
runs-on: ${{ matrix.os }}
3536
container:
3637
image: ${{ matrix.container }}
38+
volumes:
39+
- /:/host
3740
steps:
3841
- name: Install aarch64-linux-gnu
3942
if: ${{ matrix.platform == 'linux-arm64' && matrix.libc != 'musl' }}
@@ -47,6 +50,15 @@ jobs:
4750
apk update
4851
apk add git ninja bash build-base nodejs linux-headers
4952
53+
- name: Prepare container for linux-arm64-musl platform
54+
if: ${{ matrix.platform == 'linux-arm64' && matrix.libc == 'musl' }}
55+
run: |
56+
# workaround to support javascript actions in alpine arm64.
57+
# https://github.com/actions/runner/issues/801#issuecomment-2394425757
58+
sed -i "s:ID=alpine:ID=NotpineForGHA:" /etc/os-release
59+
cd /host/home/runner/runners/*/externals/
60+
rm -rf node20/* && mkdir node20/bin && ln -s /usr/bin/node node20/bin/node
61+
5062
- name: Prepare for Linux
5163
if: ${{ matrix.target == 'linux' && matrix.libc != 'musl' }}
5264
run: |
@@ -61,8 +73,8 @@ jobs:
6173
if: ${{ matrix.target == 'windows' }}
6274
run: .\make.bat ${{ matrix.platform }}
6375

64-
- name: Build for Linux
65-
if: ${{ matrix.target == 'linux' }}
76+
- name: Build for Linux except linux-arm64-musl
77+
if: ${{ matrix.target == 'linux' && !(matrix.platform == 'linux-arm64' && matrix.libc == 'musl') }}
6678
run: |
6779
./make.sh ${{ matrix.platform }}
6880
@@ -78,6 +90,12 @@ jobs:
7890
docker build -t ubuntu-18.04 .
7991
docker run --rm -v $(pwd):$(pwd) -w $(pwd) ubuntu-18.04 bash -c './make.sh'
8092
93+
- name: Build for linux-arm64-musl
94+
if: ${{ matrix.platform == 'linux-arm64' && matrix.libc == 'musl' }}
95+
run: |
96+
ninja -C 3rd/luamake -f compile/ninja/linux.ninja
97+
./3rd/luamake/luamake all
98+
8199
- name: Setting up workflow variables
82100
id: vars
83101
shell: bash

0 commit comments

Comments
 (0)