8
8
- main
9
9
10
10
jobs :
11
+ build-ubuntu-arm64-clang :
12
+ name : Ubuntu arm64 Clang
13
+ runs-on : ubuntu-24.04-arm
14
+ steps :
15
+ - name : Git checkout
16
+ uses : actions/checkout@v4
17
+ with :
18
+ submodules : ' true'
19
+
20
+ - name : Install ImageMagick
21
+ run : sudo apt install imagemagick
22
+
23
+ - name : Build release
24
+ run : |
25
+ export CXX=clang++
26
+ mkdir build_rel
27
+ cd build_rel
28
+ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_UNITTEST=ON -DASTCENC_ISA_NEON=ON -DASTCENC_ISA_SVE_128=ON -DASTCENC_ISA_SVE_256=ON -DASTCENC_ISA_NONE=ON -DASTCENC_PACKAGE=arm64 ..
29
+ make install package -j4
30
+
31
+ - name : Build debug
32
+ run : |
33
+ export CXX=clang++
34
+ mkdir build_dbg
35
+ cd build_dbg
36
+ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DASTCENC_ISA_NEON=ON -DASTCENC_ISA_SVE_128=ON -DASTCENC_ISA_SVE_256=ON -DASTCENC_ISA_NONE=ON ..
37
+ make -j4
38
+
39
+ - name : Upload binaries
40
+ uses : actions/upload-artifact@v4
41
+ with :
42
+ name : astcenc-linux-arm64
43
+ path : |
44
+ build_rel/*.zip
45
+ build_rel/*.zip.sha256
46
+
47
+ - name : Setup Python
48
+ uses : actions/setup-python@v5
49
+ with :
50
+ python-version : ' 3.11'
51
+
52
+ - name : Get Python modules
53
+ run : |
54
+ python -m pip install --upgrade pip
55
+ pip install numpy Pillow
56
+
57
+ - name : Run system tests
58
+ # GitHub is using Cobalt-100, which has 128-bit SVE so we cannot test sve_256 here
59
+ run : |
60
+ python ./Test/astc_test_functional.py --encoder none
61
+ python ./Test/astc_test_functional.py --encoder neon
62
+ python ./Test/astc_test_functional.py --encoder sve_128
63
+ python ./Test/astc_test_image.py --encoder none --test-set Small
64
+ python ./Test/astc_test_image.py --encoder neon --test-set Small
65
+ python ./Test/astc_test_image.py --encoder sve_128 --test-set Small
66
+
67
+ - name : Run unit tests
68
+ # GitHub is using Cobalt-100, which has 128-bit SVE so we cannot test sve_256 here
69
+ run : ctest -E test-unit-sve_256 --rerun-failed --output-on-failure
70
+ working-directory : build_rel
71
+
72
+ build-ubuntu-arm64-gcc :
73
+ name : Ubuntu arm64 GCC
74
+ runs-on : ubuntu-24.04-arm
75
+ steps :
76
+ - name : Git checkout
77
+ uses : actions/checkout@v4
78
+ with :
79
+ submodules : ' true'
80
+
81
+ - name : Install ImageMagick
82
+ run : sudo apt install imagemagick
83
+
84
+ - name : Build release
85
+ run : |
86
+ export CXX=g++
87
+ mkdir build_rel
88
+ cd build_rel
89
+ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_UNITTEST=ON -DASTCENC_ISA_NEON=ON -DASTCENC_ISA_NONE=ON -DASTCENC_PACKAGE=arm64 ..
90
+ make install package -j4
91
+
92
+ - name : Build debug
93
+ run : |
94
+ export CXX=clang++
95
+ mkdir build_dbg
96
+ cd build_dbg
97
+ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DASTCENC_ISA_NEON=ON -DASTCENC_ISA_NONE=ON ..
98
+ make -j4
99
+
100
+ - name : Setup Python
101
+ uses : actions/setup-python@v5
102
+ with :
103
+ python-version : ' 3.11'
104
+
105
+ - name : Get Python modules
106
+ run : |
107
+ python -m pip install --upgrade pip
108
+ pip install numpy Pillow
109
+
110
+ - name : Run system tests
111
+ run : |
112
+ python ./Test/astc_test_functional.py --encoder none
113
+ python ./Test/astc_test_functional.py --encoder neon
114
+ python ./Test/astc_test_image.py --encoder none --test-set Small
115
+ python ./Test/astc_test_image.py --encoder neon --test-set Small
116
+
117
+ - name : Run unit tests
118
+ run : ctest --rerun-failed --output-on-failure
119
+ working-directory : build_rel
120
+
11
121
build-ubuntu-x64-clang :
12
122
name : Ubuntu x64 Clang
13
123
runs-on : ubuntu-22.04
22
132
export CXX=clang++
23
133
mkdir build_rel
24
134
cd build_rel
25
- cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_ISA_NONE=ON -DASTCENC_UNITTEST=ON -DASTCENC_PACKAGE=x64 ..
135
+ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_UNITTEST=ON - DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_ISA_NONE=ON -DASTCENC_UNITTEST=ON -DASTCENC_PACKAGE=x64 ..
26
136
make install package -j4
27
137
28
138
- name : Build debug
61
171
python ./Test/astc_test_image.py --encoder all-x86 --test-set Small
62
172
63
173
- name : Run unit tests
64
- run : ctest
174
+ run : ctest --rerun-failed --output-on-failure
65
175
working-directory : build_rel
66
176
67
177
build-ubuntu-x64-gcc :
78
188
export CXX=g++
79
189
mkdir build_rel
80
190
cd build_rel
81
- cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_ISA_NONE=ON -DASTCENC_UNITTEST=ON -DASTCENC_PACKAGE=x64 ..
191
+ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_UNITTEST=ON - DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_ISA_NONE=ON -DASTCENC_UNITTEST=ON -DASTCENC_PACKAGE=x64 ..
82
192
make install package -j4
83
193
84
194
- name : Build debug
@@ -109,7 +219,7 @@ jobs:
109
219
python ./Test/astc_test_image.py --encoder all-x86 --test-set Small
110
220
111
221
- name : Run unit tests
112
- run : ctest
222
+ run : ctest --rerun-failed --output-on-failure
113
223
working-directory : build_rel
114
224
115
225
build-macos-x64-clang :
@@ -125,7 +235,7 @@ jobs:
125
235
run : |
126
236
mkdir build_rel
127
237
cd build_rel
128
- cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_UNIVERSAL_BUILD=OFF -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_PACKAGE=x64 ..
238
+ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_UNITTEST=ON - DASTCENC_UNIVERSAL_BUILD=OFF -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_PACKAGE=x64 ..
129
239
make install package -j4
130
240
131
241
- name : Build debug
@@ -149,6 +259,10 @@ jobs:
149
259
run : |
150
260
python ./Test/astc_test_image.py --encoder sse4.1 --test-set Small
151
261
262
+ - name : Run unit tests
263
+ run : ctest -E test-unit-avx2 --rerun-failed --output-on-failure
264
+ working-directory : build_rel
265
+
152
266
build-macos-universal-clang :
153
267
name : macOS universal Clang
154
268
runs-on : macos-14
@@ -162,7 +276,7 @@ jobs:
162
276
run : |
163
277
mkdir build_rel
164
278
cd build_rel
165
- cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_UNIVERSAL_BUILD=ON -DASTCENC_PACKAGE=x64 ..
279
+ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_UNITTEST=ON - DASTCENC_UNIVERSAL_BUILD=ON -DASTCENC_PACKAGE=x64 ..
166
280
make install package -j4
167
281
168
282
- name : Build debug
@@ -194,6 +308,10 @@ jobs:
194
308
run : |
195
309
python ./Test/astc_test_image.py --encoder universal --test-set Small
196
310
311
+ - name : Run unit tests
312
+ run : ctest -E test-unit-avx2 --rerun-failed --output-on-failure
313
+ working-directory : build_rel
314
+
197
315
build-windows-x64-msvc :
198
316
name : Windows x64 MSVC
199
317
runs-on : windows-2022
@@ -203,14 +321,14 @@ jobs:
203
321
with :
204
322
submodules : ' true'
205
323
206
- - name : Setup Visual Studio x86_6
324
+ - name : Setup Visual Studio x86_64
207
325
uses : ilammy/msvc-dev-cmd@v1
208
326
209
327
- name : Build release
210
328
run : |
211
329
mkdir build_rel
212
330
cd build_rel
213
- cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_PACKAGE=x64 ..
331
+ cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_UNITTEST=ON - DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_PACKAGE=x64 ..
214
332
nmake install package
215
333
shell : cmd
216
334
@@ -238,6 +356,10 @@ jobs:
238
356
python ./Test/astc_test_image.py --test-set Small
239
357
shell : cmd
240
358
359
+ - name : Run unit tests
360
+ run : ctest -C Release --rerun-failed --output-on-failure
361
+ working-directory : build_rel
362
+
241
363
build-windows-x64-clangcl :
242
364
name : Windows x64 ClangCL
243
365
runs-on : windows-2022
@@ -247,14 +369,14 @@ jobs:
247
369
with :
248
370
submodules : ' true'
249
371
250
- - name : Setup Visual Studio x86_6
372
+ - name : Setup Visual Studio x86_64
251
373
uses : ilammy/msvc-dev-cmd@v1
252
374
253
375
- name : Build release
254
376
run : |
255
377
mkdir build_rel
256
378
cd build_rel
257
- cmake -G "Visual Studio 17 2022" -T ClangCL -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_PACKAGE=x64 ..
379
+ cmake -G "Visual Studio 17 2022" -T ClangCL -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_UNITTEST=ON - DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON -DASTCENC_PACKAGE=x64 ..
258
380
msbuild astcencoder.sln -property:Configuration=Release
259
381
msbuild PACKAGE.vcxproj -property:Configuration=Release
260
382
msbuild INSTALL.vcxproj -property:Configuration=Release
@@ -264,7 +386,7 @@ jobs:
264
386
run : |
265
387
mkdir build_dbg
266
388
cd build_dbg
267
- cmake -G "Visual Studio 17 2022" -T ClangCL -DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON ..
389
+ cmake -G "Visual Studio 17 2022" -T ClangCL -DASTCENC_UNITTEST=ON - DASTCENC_ISA_AVX2=ON -DASTCENC_ISA_SSE41=ON -DASTCENC_ISA_SSE2=ON ..
268
390
msbuild astcencoder.sln -property:Configuration=Debug
269
391
shell : cmd
270
392
@@ -292,6 +414,10 @@ jobs:
292
414
python ./Test/astc_test_image.py --test-set Small
293
415
shell : cmd
294
416
417
+ - name : Run unit tests
418
+ run : ctest -C Release --rerun-failed --output-on-failure
419
+ working-directory : build_rel
420
+
295
421
build-windows-arm64-clangcl :
296
422
name : Windows arm64 ClangCL
297
423
runs-on : windows-2022
0 commit comments