Skip to content

Commit 0e9bd89

Browse files
committed
WIP: add aarch64
Signed-off-by: Máté Tokodi [email protected]
1 parent 82d395b commit 0e9bd89

File tree

1 file changed

+128
-129
lines changed

1 file changed

+128
-129
lines changed

.github/workflows/actions.yml

Lines changed: 128 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -23,38 +23,38 @@ jobs:
2323
# sudo apt install -y clang-format-10
2424
# - name: Test
2525
# run: tools/check_tidy.py
26-
27-
build-on-macos:
28-
strategy:
29-
fail-fast: false
30-
matrix:
31-
mode: [debug, release]
32-
switch: [--jit, --jit-no-reg-alloc, ""]
33-
runs-on: macos-13
34-
steps:
35-
- uses: actions/checkout@v4
36-
with:
37-
submodules: true
38-
- name: Install Packages
39-
run: |
40-
brew update
41-
brew install cmake ninja pkg-config
42-
- name: Build x64
43-
env:
44-
BUILD_OPTIONS: -DWALRUS_MODE=${{ matrix.mode }} -DWALRUS_OUTPUT=shell -GNinja
45-
run: |
46-
cmake -H. -Bout/mac $BUILD_OPTIONS
47-
ninja -Cout/mac
48-
- name: "Remove 2 test files due to stack overflow occurred by recursion calls in debug mode build by clang"
49-
if: matrix.mode == 'debug' && matrix.switch == ''
50-
run: |
51-
rm ./test/wasm-spec/core/call.wast
52-
rm ./test/wasm-spec/core/call_indirect.wast
53-
rm ./test/extended/gc/call_ref.wast
54-
- name: Run Tests
55-
run: |
56-
#FIXME try-catch is unstable in macos build
57-
$RUNNER --engine="$GITHUB_WORKSPACE/out/mac/walrus" ${{ matrix.switch }}
26+
#
27+
# build-on-macos:
28+
# strategy:
29+
# fail-fast: false
30+
# matrix:
31+
# mode: [debug, release]
32+
# switch: [--jit, --jit-no-reg-alloc, ""]
33+
# runs-on: macos-13
34+
# steps:
35+
# - uses: actions/checkout@v4
36+
# with:
37+
# submodules: true
38+
# - name: Install Packages
39+
# run: |
40+
# brew update
41+
# brew install cmake ninja pkg-config
42+
# - name: Build x64
43+
# env:
44+
# BUILD_OPTIONS: -DWALRUS_MODE=${{ matrix.mode }} -DWALRUS_OUTPUT=shell -GNinja
45+
# run: |
46+
# cmake -H. -Bout/mac $BUILD_OPTIONS
47+
# ninja -Cout/mac
48+
# - name: "Remove 2 test files due to stack overflow occurred by recursion calls in debug mode build by clang"
49+
# if: matrix.mode == 'debug' && matrix.switch == ''
50+
# run: |
51+
# rm ./test/wasm-spec/core/call.wast
52+
# rm ./test/wasm-spec/core/call_indirect.wast
53+
# rm ./test/extended/gc/call_ref.wast
54+
# - name: Run Tests
55+
# run: |
56+
# #FIXME try-catch is unstable in macos build
57+
# $RUNNER --engine="$GITHUB_WORKSPACE/out/mac/walrus" ${{ matrix.switch }}
5858

5959
build-on-macos-arm64:
6060
strategy:
@@ -179,26 +179,26 @@ jobs:
179179
# run: |
180180
# cmake -H. -Bout/linux/x64 $BUILD_OPTIONS
181181
# ninja -Cout/linux/x64
182-
#
183-
# build-test-on-arches-with-qemu:
184-
# name: ${{ matrix.compile.name }} on ${{ matrix.arch.name }} ${{ matrix.mode }} ${{ matrix.switch }}
185-
# strategy:
186-
# fail-fast: false
187-
# matrix:
188-
# switch:
189-
# - --jit
190-
# - ""
191-
# compile:
192-
# - name: Build
193-
# options: ""
194-
# tests: ""
195-
# - name: Pure build
196-
# options: -DWALRUS_WASI=OFF
197-
# tests: "basic-tests wasm-test-core jit"
198-
# mode:
199-
# - debug
200-
# - release
201-
# arch:
182+
183+
build-test-on-arches-with-qemu:
184+
name: ${{ matrix.compile.name }} on ${{ matrix.arch.name }} ${{ matrix.mode }} ${{ matrix.switch }}
185+
strategy:
186+
fail-fast: false
187+
matrix:
188+
switch:
189+
- --jit
190+
- ""
191+
compile:
192+
- name: Build
193+
options: ""
194+
tests: ""
195+
- name: Pure build
196+
options: -DWALRUS_WASI=OFF -DWALRUS_GC=OFF
197+
tests: "basic-tests wasm-test-core jit"
198+
mode:
199+
- debug
200+
- release
201+
arch:
202202
# - name: armt2
203203
# toolchain:
204204
# url: https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--stable-2024.05-1.tar.xz
@@ -221,16 +221,16 @@ jobs:
221221
# target: arm-linux-user
222222
# name: qemu-arm
223223
# walrus: arm
224-
# - name: aarch64
225-
# toolchain:
226-
# url: https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--stable-2024.05-1.tar.xz
227-
# name: aarch64--glibc--stable-2024.05-1.tar.xz
228-
# CC: aarch64-buildroot-linux-gnu-gcc-13.3.0.br_real
229-
# CXX: aarch64-buildroot-linux-gnu-g++.br_real
230-
# qemu:
231-
# target: aarch64-linux-user
232-
# name: qemu-aarch64
233-
# walrus: aarch64
224+
- name: aarch64
225+
toolchain:
226+
url: https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--stable-2024.05-1.tar.xz
227+
name: aarch64--glibc--stable-2024.05-1.tar.xz
228+
CC: aarch64-buildroot-linux-gnu-gcc-13.3.0.br_real
229+
CXX: aarch64-buildroot-linux-gnu-g++.br_real
230+
qemu:
231+
target: aarch64-linux-user
232+
name: qemu-aarch64
233+
walrus: aarch64
234234
# - name: riscv64
235235
# toolchain:
236236
# url: https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--stable-2024.05-1.tar.xz
@@ -243,44 +243,43 @@ jobs:
243243
# target: riscv64-linux-user
244244
# name: qemu-riscv64
245245
# walrus: riscv64
246-
#
247-
# runs-on: ubuntu-latest
248-
# steps:
249-
# - uses: actions/checkout@v4
250-
# with:
251-
# submodules: true
252-
# - name: Install compiler
253-
# run: |
254-
# sudo apt update
255-
# sudo apt install -y make wget ninja-build libglib2.0-dev
256-
# wget ${{ matrix.arch.toolchain.url }}
257-
# mkdir toolchain
258-
# tar -xvf ${{ matrix.arch.toolchain.name }} -C toolchain --strip-components=1
259-
# - name: Install qemu
260-
# run: |
261-
# wget https://download.qemu.org/qemu-9.0.2.tar.xz
262-
# tar -xvf qemu-9.0.2.tar.xz
263-
# cd qemu-9.0.2
264-
# ./configure --target-list="${{ matrix.arch.qemu.target }}"
265-
# make -j4
266-
# - name: ${{ matrix.compile.name }} in ${{ matrix.arch.name }}
267-
# env:
268-
# CC: ./toolchain/bin/${{ matrix.arch.toolchain.CC }}
269-
# CXX: ./toolchain/bin/${{ matrix.arch.toolchain.CXX }}
270-
# CFLAGS: ${{ matrix.arch.toolchain.CFLAGS }}
271-
# CXXFLAGS: ${{ matrix.arch.toolchain.CXXFLAGS }}
272-
# run: |
273-
# cmake -H. -DCMAKE_EXE_LINKER_FLAGS="-static" -Bout/ -DCMAKE_BUILD_TYPE=${{ matrix.mode }} -DWALRUS_ARCH=${{ matrix.arch.walrus }} -DWALRUS_HOST=linux -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell ${{ matrix.compile.options }} -GNinja
274-
# ninja -C out/
275-
# - name: "Remove 2 test files due to stack overflow occurred by recursion calls in interpreter mode build by gcc"
276-
# if: matrix.switch == ''
277-
# run: |
278-
# rm ./test/wasm-spec/core/call.wast
279-
# rm ./test/wasm-spec/core/call_indirect.wast
280-
# rm ./test/extended/gc/call_ref.wast
281-
# - name: Test in ${{matrix.arch.name}}
282-
# run: |
283-
# $RUNNER ${{ matrix.switch }} --engine="./out/walrus" --qemu="./qemu-9.0.2/build/${{ matrix.arch.qemu.name }}" ${{ matrix.compile.tests }}
246+
runs-on: ubuntu-latest
247+
steps:
248+
- uses: actions/checkout@v4
249+
with:
250+
submodules: true
251+
- name: Install compiler
252+
run: |
253+
sudo apt update
254+
sudo apt install -y make wget ninja-build libglib2.0-dev
255+
wget ${{ matrix.arch.toolchain.url }}
256+
mkdir toolchain
257+
tar -xvf ${{ matrix.arch.toolchain.name }} -C toolchain --strip-components=1
258+
- name: Install qemu
259+
run: |
260+
wget https://download.qemu.org/qemu-9.0.2.tar.xz
261+
tar -xvf qemu-9.0.2.tar.xz
262+
cd qemu-9.0.2
263+
./configure --target-list="${{ matrix.arch.qemu.target }}"
264+
make -j4
265+
- name: ${{ matrix.compile.name }} in ${{ matrix.arch.name }}
266+
env:
267+
CC: ./toolchain/bin/${{ matrix.arch.toolchain.CC }}
268+
CXX: ./toolchain/bin/${{ matrix.arch.toolchain.CXX }}
269+
CFLAGS: ${{ matrix.arch.toolchain.CFLAGS }}
270+
CXXFLAGS: ${{ matrix.arch.toolchain.CXXFLAGS }}
271+
run: |
272+
cmake -H. -DCMAKE_EXE_LINKER_FLAGS="-static" -Bout/ -DCMAKE_BUILD_TYPE=${{ matrix.mode }} -DWALRUS_ARCH=${{ matrix.arch.walrus }} -DWALRUS_HOST=linux -DWALRUS_MODE=debug -DWALRUS_OUTPUT=shell ${{ matrix.compile.options }} -GNinja
273+
ninja -C out/
274+
- name: "Remove 2 test files due to stack overflow occurred by recursion calls in interpreter mode build by gcc"
275+
if: matrix.switch == ''
276+
run: |
277+
rm ./test/wasm-spec/core/call.wast
278+
rm ./test/wasm-spec/core/call_indirect.wast
279+
rm ./test/extended/gc/call_ref.wast
280+
- name: Test in ${{matrix.arch.name}}
281+
run: |
282+
$RUNNER ${{ matrix.switch }} --engine="./out/walrus" --qemu="./qemu-9.0.2/build/${{ matrix.arch.qemu.name }}" ${{ matrix.compile.tests }}
284283
#
285284
# test-on-windows-x86-x64:
286285
# runs-on: windows-2022
@@ -347,35 +346,35 @@ jobs:
347346
# - name: Run Tests
348347
# run: |
349348
# $RUNNER --engine="$GITHUB_WORKSPACE/out/extended/walrus" ${{ matrix.switch }} wasm-test-extended
350-
351-
build-test-no-gc-linux:
352-
runs-on: ubuntu-latest
353-
strategy:
354-
fail-fast: false
355-
matrix:
356-
mode: [debug]
357-
arch: [x64]
358-
switch: [--jit, ""]
359-
steps:
360-
- uses: actions/checkout@v4
361-
with:
362-
submodules: true
363-
- name: Install Packages
364-
run: |
365-
sudo apt update
366-
sudo apt install -y ninja-build gcc-multilib g++-multilib
367-
- name: Build ${{ matrix.arch}}
368-
env:
369-
BUILD_OPTIONS: -DWALRUS_ARCH=${{ matrix.arch }} -DWALRUS_HOST=linux -DWALRUS_MODE=${{ matrix.mode }} -DWALRUS_OUTPUT=shell -DWALRUS_GC=OFF -GNinja
370-
run: |
371-
cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -H. -Bout/nogc $BUILD_OPTIONS
372-
ninja -Cout/nogc
373-
- name: "Remove GC tests"
374-
run: |
375-
rm -rf ./test/extended/gc
376-
- name: Run Tests
377-
run: |
378-
$RUNNER --engine="$GITHUB_WORKSPACE/out/nogc/walrus" ${{ matrix.switch }}
349+
#
350+
# build-test-no-gc-linux:
351+
# runs-on: ubuntu-latest
352+
# strategy:
353+
# fail-fast: false
354+
# matrix:
355+
# mode: [debug]
356+
# arch: [x64]
357+
# switch: [--jit, ""]
358+
# steps:
359+
# - uses: actions/checkout@v4
360+
# with:
361+
# submodules: true
362+
# - name: Install Packages
363+
# run: |
364+
# sudo apt update
365+
# sudo apt install -y ninja-build gcc-multilib g++-multilib
366+
# - name: Build ${{ matrix.arch}}
367+
# env:
368+
# BUILD_OPTIONS: -DWALRUS_ARCH=${{ matrix.arch }} -DWALRUS_HOST=linux -DWALRUS_MODE=${{ matrix.mode }} -DWALRUS_OUTPUT=shell -DWALRUS_GC=OFF -GNinja
369+
# run: |
370+
# cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -H. -Bout/nogc $BUILD_OPTIONS
371+
# ninja -Cout/nogc
372+
# - name: "Remove GC tests"
373+
# run: |
374+
# rm -rf ./test/extended/gc
375+
# - name: Run Tests
376+
# run: |
377+
# $RUNNER --engine="$GITHUB_WORKSPACE/out/nogc/walrus" ${{ matrix.switch }}
379378

380379
build-test-no-gc-on-macos-arm64:
381380
strategy:

0 commit comments

Comments
 (0)