@@ -80,22 +80,40 @@ jobs:
80
80
make -j2
81
81
make install
82
82
83
- - name : cache-toolchain
84
- id : cache-toolchain
83
+ - name : cache-toolchain (CPU)
84
+ if : matrix.gpu == 'OFF'
85
+ id : cache-toolchain-cpu
85
86
uses : actions/cache@v4
86
87
with :
87
88
path : toolchain
88
89
key : gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
89
90
90
- - name : Download toolchain
91
- if : steps.cache-toolchain.outputs.cache-hit != 'true'
91
+ - name : cache-toolchain (GPU)
92
+ if : matrix.gpu == 'ON'
93
+ id : cache-toolchain-gpu
94
+ uses : actions/cache@v4
95
+ with :
96
+ path : toolchain
97
+ key : gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz
98
+
99
+ - name : Download toolchain (CPU, gcc 7.5)
100
+ if : steps.cache-toolchain-cpu.outputs.cache-hit != 'true' && matrix.gpu == 'OFF'
92
101
shell : bash
93
102
run : |
94
103
wget -qq https://huggingface.co/csukuangfj/sherpa-ncnn-toolchains/resolve/main/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
95
104
96
105
mkdir $GITHUB_WORKSPACE/toolchain
97
106
tar xf ./gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz --strip-components 1 -C $GITHUB_WORKSPACE/toolchain
98
107
108
+ - name : Download toolchain (GPU, gcc 10.3)
109
+ if : steps.cache-toolchain-gpu.outputs.cache-hit != 'true' && matrix.gpu == 'ON'
110
+ shell : bash
111
+ run : |
112
+ wget -qq https://huggingface.co/csukuangfj/sherpa-ncnn-toolchains/resolve/main/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz
113
+
114
+ mkdir $GITHUB_WORKSPACE/toolchain
115
+ tar xf ./gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz --strip-components 1 -C $GITHUB_WORKSPACE/toolchain
116
+
99
117
- name : Set environment variable
100
118
if : steps.cache-build-result.outputs.cache-hit != 'true'
101
119
shell : bash
@@ -104,19 +122,31 @@ jobs:
104
122
echo "$GITHUB_WORKSPACE/bin" >> "$GITHUB_PATH"
105
123
ls -lh "$GITHUB_WORKSPACE/toolchain/bin"
106
124
107
- echo "CC=aarch64-linux-gnu-gcc" >> "$GITHUB_ENV"
108
- echo "CXX=aarch64-linux-gnu-g++" >> "$GITHUB_ENV"
125
+ if [[ ${{ matrix.gpu }} == OFF ]]; then
126
+ echo "CC=aarch64-linux-gnu-gcc" >> "$GITHUB_ENV"
127
+ echo "CXX=aarch64-linux-gnu-g++" >> "$GITHUB_ENV"
128
+ else
129
+ echo "CC=aarch64-none-linux-gnu-gcc" >> "$GITHUB_ENV"
130
+ echo "CXX=aarch64-none-linux-gnu-g++" >> "$GITHUB_ENV"
131
+ fi
109
132
110
133
- name : Display toolchain info
111
134
shell : bash
112
135
run : |
113
- aarch64-linux-gnu-gcc --version
136
+ if [[ ${{ matrix.gpu }} == OFF ]]; then
137
+ which aarch64-linux-gnu-gcc
138
+ aarch64-linux-gnu-gcc --version
139
+ else
140
+ which aarch64-none-linux-gnu-gcc
141
+ aarch64-none-linux-gnu-gcc --version
142
+ fi
114
143
115
144
- name : Display qemu-aarch64 -h
116
145
shell : bash
117
146
run : |
118
147
export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH
119
148
export QEMU_LD_PREFIX=$GITHUB_WORKSPACE/toolchain/aarch64-linux-gnu/libc
149
+ export QEMU_LD_PREFIX=$GITHUB_WORKSPACE/toolchain/aarch64-none-linux-gnu/libc
120
150
qemu-aarch64 -h
121
151
122
152
- name : build aarch64-linux-gnu
@@ -142,7 +172,11 @@ jobs:
142
172
run : |
143
173
export PATH=$GITHUB_WORKSPACE/toolchain/bin:$PATH
144
174
export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH
145
- export QEMU_LD_PREFIX=$GITHUB_WORKSPACE/toolchain/aarch64-linux-gnu/libc
175
+ if [[ ${{ matrix.gpu }} == OFF ]]; then
176
+ export QEMU_LD_PREFIX=$GITHUB_WORKSPACE/toolchain/aarch64-linux-gnu/libc
177
+ else
178
+ export QEMU_LD_PREFIX=$GITHUB_WORKSPACE/toolchain/aarch64-none-linux-gnu/libc
179
+ fi
146
180
147
181
ls -lh ./build-aarch64-linux-gnu/bin
148
182
@@ -153,11 +187,20 @@ jobs:
153
187
- name : Copy files
154
188
shell : bash
155
189
run : |
156
- aarch64-linux-gnu-strip --version
190
+ if [[ ${{ matrix.gpu }} == OFF ]]; then
191
+ aarch64-linux-gnu-strip --version
192
+ else
193
+ aarch64-none-linux-gnu-strip --version
194
+ fi
157
195
158
196
SHERPA_ONNX_VERSION=v$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2)
159
197
160
198
dst=sherpa-onnx-${SHERPA_ONNX_VERSION}-linux-aarch64-shared
199
+ if [[ ${{ matrix.gpu }} == OFF ]]; then
200
+ dst=${dst}-cpu
201
+ else
202
+ dst=${dst}-gpu
203
+ fi
161
204
mkdir $dst
162
205
163
206
cp -a build-aarch64-linux-gnu/install/bin $dst/
@@ -168,16 +211,20 @@ jobs:
168
211
169
212
ls -lh $dst/bin/
170
213
echo "strip"
171
- aarch64-linux-gnu-strip $dst/bin/*
214
+ if [[ ${{ matrix.gpu }} == OFF ]]; then
215
+ aarch64-linux-gnu-strip $dst/bin/*
216
+ else
217
+ aarch64-none-linux-gnu-strip $dst/bin/*
218
+ fi
172
219
173
220
tree $dst
174
221
175
222
tar cjvf ${dst}.tar.bz2 $dst
176
223
177
224
- uses : actions/upload-artifact@v4
178
225
with :
179
- name : sherpa-onnx-linux-aarch64-shared
180
- path : sherpa-onnx-*linux-aarch64-shared.tar.bz2
226
+ name : sherpa-onnx-linux-aarch64-shared-gpu-${{ matrix.gpu }}
227
+ path : sherpa-onnx-*linux-aarch64-shared* .tar.bz2
181
228
182
229
# https://huggingface.co/docs/hub/spaces-github-actions
183
230
- name : Publish to huggingface
@@ -200,7 +247,7 @@ jobs:
200
247
cd huggingface
201
248
mkdir -p aarch64
202
249
203
- cp -v ../sherpa-onnx-*-shared.tar.bz2 ./aarch64
250
+ cp -v ../sherpa-onnx-*-shared* .tar.bz2 ./aarch64
204
251
205
252
git status
206
253
git lfs track "*.bz2"
0 commit comments