@@ -58,36 +58,48 @@ jobs:
58
58
addlicense -check .
59
59
60
60
build :
61
- name : build ( ${{ matrix.name }})
61
+ name : ${{ matrix.action }} with ${{ matrix.name }}
62
62
63
63
runs-on : ${{ matrix.os }}
64
64
65
65
strategy :
66
66
fail-fast : false
67
67
matrix :
68
68
include :
69
- - name : ' V8 on Linux'
69
+ - name : ' V8 on Linux/x86_64 '
70
70
runtime : ' v8'
71
71
os : ubuntu-20.04
72
+ action : test
72
73
flags : ' --define crypto=system'
73
- - name : ' V8 on macOS'
74
+ - name : ' V8 on macOS/x86_64 '
74
75
runtime : ' v8'
75
76
os : macos-11
76
- - name : ' WAMR on Linux'
77
+ action : test
78
+ - name : ' WAMR on Linux/x86_64'
77
79
runtime : ' wamr'
78
80
os : ubuntu-20.04
79
- - name : ' WAMR on macOS'
81
+ action : test
82
+ - name : ' WAMR on macOS/x86_64'
80
83
runtime : ' wamr'
81
84
os : macos-11
82
- - name : ' Wasmtime on Linux'
85
+ action : test
86
+ - name : ' Wasmtime on Linux/x86_64'
83
87
runtime : ' wasmtime'
84
88
os : ubuntu-20.04
85
- - name : ' Wasmtime on macOS'
89
+ action : test
90
+ - name : ' Wasmtime on Linux/aarch64'
91
+ runtime : ' wasmtime'
92
+ os : ubuntu-20.04
93
+ action : build
94
+ run_under : docker run --rm --env HOME=$HOME --env USER=$(id -un) --volume "$HOME:$HOME" --workdir $(pwd) --user $(id -u):$(id -g) --platform linux/arm64 piotrsikora/build-tools:bazel-4.2.2-clang-13-gcc-11
95
+ - name : ' Wasmtime on macOS/x86_64'
86
96
runtime : ' wasmtime'
87
97
os : macos-11
88
- - name : ' WAVM on Linux'
98
+ action : test
99
+ - name : ' WAVM on Linux/x86_64'
89
100
runtime : ' wavm'
90
101
os : ubuntu-20.04
102
+ action : test
91
103
92
104
steps :
93
105
- uses : actions/checkout@v2
@@ -100,36 +112,42 @@ jobs:
100
112
if : startsWith(matrix.os, 'macos')
101
113
run : brew install ninja
102
114
115
+ - name : Activate Docker/QEMU
116
+ if : startsWith(matrix.run_under, 'docker')
117
+ run : docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
118
+
103
119
- name : Bazel cache
104
- if : matrix.runtime != 'wasmtime'
120
+ if : ${{ matrix.runtime != 'wasmtime' || startsWith(matrix.run_under, 'docker') }}
105
121
uses : actions/cache@v2
106
122
with :
107
123
path : |
108
124
~/.cache/bazel
109
125
/private/var/tmp/_bazel_runner/
110
126
key : bazel-${{ matrix.os }}-${{ matrix.runtime }}-${{ hashFiles('WORKSPACE', '.bazelrc', '.bazelversion', 'bazel/cargo/Cargo.raze.lock', 'bazel/dependencies.bzl', 'bazel/repositories.bzl') }}
111
127
112
- - name : Test
113
- run : |
114
- bazel test \
115
- --verbose_failures \
116
- --test_output=errors \
117
- --define runtime=${{ matrix.runtime }} \
118
- ${{ matrix.flags }} \
119
- //test/...
120
-
121
- - name : Test (signed Wasm module)
122
- run : |
123
- bazel test \
124
- --verbose_failures \
125
- --test_output=errors \
126
- --define runtime=${{ matrix.runtime }} \
127
- ${{ matrix.flags }} \
128
- --per_file_copt=src/signature_util.cc,test/signature_util_test.cc@-DPROXY_WASM_VERIFY_WITH_ED25519_PUBKEY=\"$(xxd -p -c 256 test/test_data/signature_key1.pub | cut -b9-)\" \
129
- //test:signature_util_test
128
+ - name : Bazel build/test
129
+ run : >
130
+ ${{ matrix.run_under }}
131
+ bazel ${{ matrix.action }}
132
+ --verbose_failures
133
+ --test_output=errors
134
+ --define runtime=${{ matrix.runtime }}
135
+ ${{ matrix.flags }}
136
+ //test/...
137
+
138
+ - name : Bazel build/test (signed Wasm module)
139
+ run : >
140
+ ${{ matrix.run_under }}
141
+ bazel ${{ matrix.action }}
142
+ --verbose_failures
143
+ --test_output=errors
144
+ --define runtime=${{ matrix.runtime }}
145
+ ${{ matrix.flags }}
146
+ --per_file_copt=src/signature_util.cc,test/signature_util_test.cc@-DPROXY_WASM_VERIFY_WITH_ED25519_PUBKEY=\"$(xxd -p -c 256 test/test_data/signature_key1.pub | cut -b9-)\"
147
+ //test:signature_util_test
130
148
131
149
- name : Cleanup Bazel cache
132
- if : matrix.runtime != 'wasmtime'
150
+ if : ${{ matrix.runtime != 'wasmtime' || startsWith(matrix.run_under, 'docker') }}
133
151
run : |
134
152
export OUTPUT=$(bazel info output_base)
135
153
# BoringSSL's test data (90 MiB).
0 commit comments