Skip to content

Commit 7554792

Browse files
authored
ci: Add Linux ARM test (#4749)
GHA offers free runners for Linux on ARM based machines. Let's throw them into the testing mix! A very small number of tests needed additional reference outputs saved, due to a few LSB type errors in the math. --------- Signed-off-by: Larry Gritz <[email protected]>
1 parent 8b9a130 commit 7554792

File tree

7 files changed

+3312
-2
lines changed

7 files changed

+3312
-2
lines changed

.github/workflows/ci.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,46 @@ jobs:
512512
depcmds: |
513513
sudo rm -rf /usr/local/include/OpenEXR
514514
sudo rm -rf /usr/local/lib64/cmake/{IlmBase,OpenEXR}
515+
- desc: Linux ARM latest releases gcc14 C++20 py3.12 exr3.3 ocio2.4
516+
nametag: linux-latest-releases
517+
runner: ubuntu-24.04-arm
518+
cc_compiler: gcc-14
519+
cxx_compiler: g++-14
520+
cxx_std: 20
521+
fmt_ver: 11.1.4
522+
opencolorio_ver: v2.4.2
523+
openexr_ver: v3.3.3
524+
pybind11_ver: v2.13.6
525+
python_ver: "3.12"
526+
setenvs: export LIBJPEGTURBO_VERSION=3.1.0
527+
LIBRAW_VERSION=0.21.3
528+
LIBTIFF_VERSION=v4.7.0
529+
OPENJPEG_VERSION=v2.5.3
530+
PTEX_VERSION=v2.4.3
531+
PUGIXML_VERSION=v1.15
532+
WEBP_VERSION=v1.5.0
533+
FREETYPE_VERSION=VER-2-13-3
534+
USE_OPENVDB=0
535+
- desc: Linux ARM latest releases clang18 C++20 py3.12 exr3.3 ocio2.4
536+
nametag: linux-latest-releases
537+
runner: ubuntu-24.04-arm
538+
cc_compiler: clang-18
539+
cxx_compiler: clang++-18
540+
cxx_std: 20
541+
fmt_ver: 11.1.4
542+
opencolorio_ver: v2.4.2
543+
openexr_ver: v3.3.3
544+
pybind11_ver: v2.13.6
545+
python_ver: "3.12"
546+
setenvs: export LIBJPEGTURBO_VERSION=3.1.0
547+
LIBRAW_VERSION=0.21.3
548+
LIBTIFF_VERSION=v4.7.0
549+
OPENJPEG_VERSION=v2.5.3
550+
PTEX_VERSION=v2.4.3
551+
PUGIXML_VERSION=v1.15
552+
WEBP_VERSION=v1.5.0
553+
FREETYPE_VERSION=VER-2-13-3
554+
USE_OPENVDB=0
515555

516556

517557
#
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
pixels holds unassociated alpha
2+
example_output_error1
3+
error: Uninitialized input image
4+
example_output_error2
5+
error: Uninitialized input image
6+
example_zero
7+
example_fill
8+
example_checker
9+
example_noise1
10+
example_noise2
11+
example_point
12+
example_lines
13+
example_box
14+
example_text1
15+
example_text2
16+
example_channels
17+
example_channel_append
18+
example_copy
19+
example_crop
20+
example_cut
21+
example_paste
22+
example_rotate_n
23+
example_flip_flop_transpose
24+
example_reorient
25+
example_circular_shift
26+
example_rotate
27+
example_resize
28+
example_resample
29+
example_fit
30+
example_warp
31+
example_demosaic
32+
example_add
33+
example_sub
34+
example_absdiff
35+
example_abs
36+
example_scale
37+
example_mul
38+
example_div
39+
example_fixNonFinite
40+
Repaired 48 non-finite pixels
41+
example_fillholes_pushpull
42+
example_median_filter
43+
example_unsharp_mask
44+
example_make_texture
45+
zero1.exr : 512 x 512, 3 channel, half openexr
46+
SHA-1: 95823C334FCE55968E8D2827CCD1CF77CEE19ABD
47+
zero2.exr : 256 x 256, 4 channel, half openexr
48+
SHA-1: 6A521E1D2A632C26E53B83D2CC4B0EDECFC1E68C
49+
zero3.exr : 256 x 256, 4 channel, half openexr
50+
SHA-1: 1254F2956229777B721576B94A6A944ECB806A37
51+
zero4.exr : 256 x 256, 4 channel, half openexr
52+
SHA-1: 36EB49C5102703693C078717CE82AE05D4904680
53+
fill.exr : 640 x 480, 3 channel, half openexr
54+
SHA-1: 1BBCA1D5966D02554C13C1FAEF01F6E6E6169356
55+
checker.exr : 640 x 480, 3 channel, half openexr
56+
SHA-1: 64508259AE242B593B906C848A2D69C443A3FBFD
57+
noise1.exr : 256 x 256, 3 channel, half openexr
58+
SHA-1: 66FF64DDAFDDE290031C20FAA208A193908EE9D4
59+
noise2.exr : 256 x 256, 3 channel, half openexr
60+
SHA-1: 06011F9D59106096F4742A3DAB458D506A08E34C
61+
noise3.exr : 512 x 384, 3 channel, half openexr
62+
SHA-1: 95EDBCA9953281CE63A3E18C7C04BCCB07CB4C8A
63+
noise4.exr : 512 x 384, 3 channel, half openexr
64+
SHA-1: 43BC1FDFA1F18635B635A57D71DB08BB347CBD46
65+
blue-noise.exr : 256 x 256, 4 channel, half openexr
66+
SHA-1: 5A0A51D1AD3F34633B781AFF9B90E59996C31AD0
67+
point.exr : 640 x 480, 4 channel, half openexr
68+
SHA-1: 56E2BDBE03826F203132BD9E80AF44450307BDCE
69+
lines.exr : 640 x 480, 4 channel, half openexr
70+
SHA-1: 177C4C5C61ACDD54F198A45E52836DE897C4CE96
71+
box.exr : 640 x 480, 4 channel, half openexr
72+
SHA-1: 984273B0A06E54873E24A732651490117E40410C
73+
text1.exr : 640 x 480, 3 channel, half openexr
74+
SHA-1: 1CF68F9B099A30EFF06850CEFBEDD3C2F861A654
75+
text2.exr : 640 x 480, 3 channel, half openexr
76+
SHA-1: 00C96AE28FD12752AD1968D3D07EE30F1F218D76
77+
channels-rgba.exr : 256 x 256, 4 channel, half openexr
78+
SHA-1: C823E3701152B4B3C20DD79EA8A20CF4293F4B71
79+
channels-rgb.exr : 256 x 256, 3 channel, half openexr
80+
SHA-1: 4074B050432CE7C664CEC4546A46E74F9A310CDC
81+
channels-brga.exr : 256 x 256, 4 channel, half openexr
82+
SHA-1: 04E09E64C61CEA1634D26FB2E6C733875D163671
83+
channels-alpha.exr : 256 x 256, 1 channel, half openexr
84+
SHA-1: 99C332E70F321F0EA47C0F70AF8B0E3E6524F91F
85+
channel-append.exr : 640 x 480, 5 channel, half openexr
86+
SHA-1: E6A50C80C051F0F587FCB68B515B50E4DC3E9359
87+
copy.exr : 256 x 256, 4 channel, float openexr
88+
SHA-1: 7044589C8B904DAF6A2BA3246224E97DD460AC93
89+
crop.exr : 200 x 100, 4 channel, half openexr
90+
SHA-1: 4DA3918566D087A9D2D9E93B2A7BABE971FE6BBD
91+
cut.exr : 200 x 100, 4 channel, half openexr
92+
SHA-1: 4DA3918566D087A9D2D9E93B2A7BABE971FE6BBD
93+
paste.exr : 256 x 256, 4 channel, half openexr
94+
SHA-1: 67A4C36DEAED98A5A8ABA5F0E0EDE697345DC22A
95+
rotate-90.exr : 256 x 256, 4 channel, half openexr
96+
SHA-1: AFFAEA876E8E7760226B017B0A89A3549B7A5895
97+
rotate-180.exr : 256 x 256, 4 channel, half openexr
98+
SHA-1: A5E42C5F18177DA146EC7E4567E4AE3AE2816C3C
99+
rotate-270.exr : 256 x 256, 4 channel, half openexr
100+
SHA-1: 46C803894186457376A0C590768C9DB4877737BB
101+
flip.exr : 256 x 256, 4 channel, half openexr
102+
SHA-1: A9EB9A8762BCD8DD161C00B01E2DF39E5C91B0D4
103+
flop.exr : 256 x 256, 4 channel, half openexr
104+
SHA-1: 7C10717DB4F2E21F0B4F6D5404C660CA8B504F5E
105+
rotate-45.tif : 256 x 256, 4 channel, uint8 tiff
106+
SHA-1: 7AB8CEEF016D73F34F6B7A1B40C44BC8A83F91FB
107+
resize.tif : 320 x 240, 4 channel, uint8 tiff
108+
SHA-1: 6FD1A7A97729CD6D51A22ADE0709CC4DFDC3C826
109+
resample.exr : 320 x 240, 4 channel, half openexr
110+
SHA-1: 16FC7DCFE01DC312593B00B9F90D71BAF3D52450
111+
fit.tif : 240 x 240, 4 channel, uint8 tiff
112+
SHA-1: 5474A93DED5F9F44E561B70A53F509677961AB34
113+
warp.exr : 256 x 256, 4 channel, half openexr
114+
SHA-1: F48EB9C437381524089E2824FAE9B3844D8F574A
115+
transpose.exr : 256 x 256, 4 channel, half openexr
116+
SHA-1: FAD57FB60460383D3D2D24B346F35A44846CCC39
117+
reorient.exr : 256 x 256, 4 channel, half openexr
118+
SHA-1: 46C803894186457376A0C590768C9DB4877737BB
119+
cshift.exr : 256 x 256, 4 channel, half openexr
120+
SHA-1: 000F95FDC44D4DBDA8B4041C2506149C7AE28ACA
121+
texture.exr : 256 x 256, 3 channel, half openexr (+mipmap)
122+
SHA-1: 4074B050432CE7C664CEC4546A46E74F9A310CDC
123+
add.exr : 256 x 256, 4 channel, half openexr
124+
SHA-1: EA465A4FEA171DDF7D382931AE1FF1E37C4977F8
125+
add-cspan.exr : 256 x 256, 4 channel, half openexr
126+
SHA-1: 3E8E6F104951D3D156891708478193AAE6C5859F
127+
sub.exr : 256 x 256, 4 channel, half openexr
128+
SHA-1: 6A521E1D2A632C26E53B83D2CC4B0EDECFC1E68C
129+
absdiff.exr : 256 x 256, 4 channel, half openexr
130+
SHA-1: 6A521E1D2A632C26E53B83D2CC4B0EDECFC1E68C
131+
abs.exr : 256 x 256, 4 channel, half openexr
132+
SHA-1: A670546F9AB515ABEC009BFE4C4FF6AF4D628FBA
133+
mul.exr : 256 x 256, 4 channel, half openexr
134+
SHA-1: ECCDBBBF088912F0B77B887D6B8B480C3F93615E
135+
div.exr : 256 x 256, 4 channel, half openexr
136+
SHA-1: 6A85C923DB82C893C0D88028386F1C58604A4757
137+
checker_with_alpha_filled.exr : 256 x 256, 4 channel, half openexr
138+
SHA-1: B245E027638D5C1BA2608FEDDB3BB9B5E9FA3A44
139+
tahoe_median_filter.tif : 512 x 384, 3 channel, uint8 tiff
140+
SHA-1: A0B2E3A10A16EA8CC905F144C5F91B6A0964A177
141+
tahoe_unsharp_mask.tif : 512 x 384, 3 channel, uint8 tiff
142+
SHA-1: 5842D16483BC74700DE9FD27967B2FFBD54DFCD2
143+
Comparing "simple.tif" and "ref/simple.tif"
144+
PASS
145+
Comparing "scanlines.tif" and "ref/scanlines.tif"
146+
PASS
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
pixels holds unassociated alpha
2+
example1
3+
example_output_error1
4+
error: Uninitialized input image
5+
example_output_error2
6+
error: Uninitialized input image
7+
example_zero
8+
example_fill
9+
example_checker
10+
example_noise1
11+
example_noise2
12+
example_point
13+
example_lines
14+
example_box
15+
example_text1
16+
example_text2
17+
example_channels
18+
example_channel_append
19+
example_copy
20+
example_crop
21+
example_cut
22+
example_paste
23+
example_rotate_n
24+
example_flip_flop_transpose
25+
example_reorient
26+
example_circular_shift
27+
example_rotate
28+
example_resize
29+
example_resample
30+
example_fit
31+
example_warp
32+
example_demosaic
33+
example_add
34+
example_sub
35+
example_absdiff
36+
example_abs
37+
example_scale
38+
example_mul
39+
example_div
40+
example_fixNonFinite
41+
example_fillholes_pushpull
42+
example_median_filter
43+
example_unsharp_mask
44+
example_make_texture
45+
zero1.exr : 512 x 512, 3 channel, half openexr
46+
SHA-1: 95823C334FCE55968E8D2827CCD1CF77CEE19ABD
47+
zero2.exr : 256 x 256, 4 channel, half openexr
48+
SHA-1: 6A521E1D2A632C26E53B83D2CC4B0EDECFC1E68C
49+
zero3.exr : 256 x 256, 4 channel, half openexr
50+
SHA-1: 1254F2956229777B721576B94A6A944ECB806A37
51+
zero4.exr : 256 x 256, 4 channel, half openexr
52+
SHA-1: 36EB49C5102703693C078717CE82AE05D4904680
53+
fill.exr : 640 x 480, 3 channel, half openexr
54+
SHA-1: 1BBCA1D5966D02554C13C1FAEF01F6E6E6169356
55+
checker.exr : 640 x 480, 3 channel, half openexr
56+
SHA-1: 64508259AE242B593B906C848A2D69C443A3FBFD
57+
noise1.exr : 256 x 256, 3 channel, half openexr
58+
SHA-1: 66FF64DDAFDDE290031C20FAA208A193908EE9D4
59+
noise2.exr : 256 x 256, 3 channel, half openexr
60+
SHA-1: 06011F9D59106096F4742A3DAB458D506A08E34C
61+
noise3.exr : 512 x 384, 3 channel, half openexr
62+
SHA-1: 95EDBCA9953281CE63A3E18C7C04BCCB07CB4C8A
63+
noise4.exr : 512 x 384, 3 channel, half openexr
64+
SHA-1: 43BC1FDFA1F18635B635A57D71DB08BB347CBD46
65+
blue-noise.exr : 256 x 256, 4 channel, half openexr
66+
SHA-1: 5A0A51D1AD3F34633B781AFF9B90E59996C31AD0
67+
point.exr : 640 x 480, 4 channel, half openexr
68+
SHA-1: 56E2BDBE03826F203132BD9E80AF44450307BDCE
69+
lines.exr : 640 x 480, 4 channel, half openexr
70+
SHA-1: 177C4C5C61ACDD54F198A45E52836DE897C4CE96
71+
box.exr : 640 x 480, 4 channel, half openexr
72+
SHA-1: 984273B0A06E54873E24A732651490117E40410C
73+
text1.exr : 640 x 480, 3 channel, half openexr
74+
SHA-1: 1CF68F9B099A30EFF06850CEFBEDD3C2F861A654
75+
text2.exr : 640 x 480, 3 channel, half openexr
76+
SHA-1: 00C96AE28FD12752AD1968D3D07EE30F1F218D76
77+
channels-rgba.exr : 256 x 256, 4 channel, half openexr
78+
SHA-1: C823E3701152B4B3C20DD79EA8A20CF4293F4B71
79+
channels-rgb.exr : 256 x 256, 3 channel, half openexr
80+
SHA-1: 4074B050432CE7C664CEC4546A46E74F9A310CDC
81+
channels-brga.exr : 256 x 256, 4 channel, half openexr
82+
SHA-1: 04E09E64C61CEA1634D26FB2E6C733875D163671
83+
channels-alpha.exr : 256 x 256, 1 channel, half openexr
84+
SHA-1: 99C332E70F321F0EA47C0F70AF8B0E3E6524F91F
85+
channel-append.exr : 640 x 480, 5 channel, half openexr
86+
SHA-1: E6A50C80C051F0F587FCB68B515B50E4DC3E9359
87+
copy.exr : 256 x 256, 4 channel, half openexr
88+
SHA-1: C823E3701152B4B3C20DD79EA8A20CF4293F4B71
89+
crop.exr : 200 x 100, 4 channel, half openexr
90+
SHA-1: 4DA3918566D087A9D2D9E93B2A7BABE971FE6BBD
91+
cut.exr : 200 x 100, 4 channel, half openexr
92+
SHA-1: 4DA3918566D087A9D2D9E93B2A7BABE971FE6BBD
93+
paste.exr : 256 x 256, 4 channel, half openexr
94+
SHA-1: 67A4C36DEAED98A5A8ABA5F0E0EDE697345DC22A
95+
rotate-90.exr : 256 x 256, 4 channel, half openexr
96+
SHA-1: AFFAEA876E8E7760226B017B0A89A3549B7A5895
97+
rotate-180.exr : 256 x 256, 4 channel, half openexr
98+
SHA-1: A5E42C5F18177DA146EC7E4567E4AE3AE2816C3C
99+
rotate-270.exr : 256 x 256, 4 channel, half openexr
100+
SHA-1: 46C803894186457376A0C590768C9DB4877737BB
101+
flip.exr : 256 x 256, 4 channel, half openexr
102+
SHA-1: A9EB9A8762BCD8DD161C00B01E2DF39E5C91B0D4
103+
flop.exr : 256 x 256, 4 channel, half openexr
104+
SHA-1: 7C10717DB4F2E21F0B4F6D5404C660CA8B504F5E
105+
rotate-45.tif : 256 x 256, 4 channel, uint8 tiff
106+
SHA-1: 7AB8CEEF016D73F34F6B7A1B40C44BC8A83F91FB
107+
resize.tif : 320 x 240, 4 channel, uint8 tiff
108+
SHA-1: 6FD1A7A97729CD6D51A22ADE0709CC4DFDC3C826
109+
resample.exr : 320 x 240, 4 channel, half openexr
110+
SHA-1: 16FC7DCFE01DC312593B00B9F90D71BAF3D52450
111+
fit.tif : 240 x 240, 4 channel, uint8 tiff
112+
SHA-1: 5474A93DED5F9F44E561B70A53F509677961AB34
113+
warp.exr : 256 x 256, 4 channel, half openexr
114+
SHA-1: F48EB9C437381524089E2824FAE9B3844D8F574A
115+
transpose.exr : 256 x 256, 4 channel, half openexr
116+
SHA-1: FAD57FB60460383D3D2D24B346F35A44846CCC39
117+
reorient.exr : 256 x 256, 4 channel, half openexr
118+
SHA-1: 46C803894186457376A0C590768C9DB4877737BB
119+
cshift.exr : 256 x 256, 4 channel, half openexr
120+
SHA-1: 000F95FDC44D4DBDA8B4041C2506149C7AE28ACA
121+
texture.exr : 256 x 256, 3 channel, half openexr (+mipmap)
122+
SHA-1: 4074B050432CE7C664CEC4546A46E74F9A310CDC
123+
add.exr : 256 x 256, 4 channel, half openexr
124+
SHA-1: EA465A4FEA171DDF7D382931AE1FF1E37C4977F8
125+
add_cspan.exr : 256 x 256, 4 channel, half openexr
126+
SHA-1: 3E8E6F104951D3D156891708478193AAE6C5859F
127+
sub.exr : 256 x 256, 4 channel, half openexr
128+
SHA-1: 6A521E1D2A632C26E53B83D2CC4B0EDECFC1E68C
129+
absdiff.exr : 256 x 256, 4 channel, half openexr
130+
SHA-1: 6A521E1D2A632C26E53B83D2CC4B0EDECFC1E68C
131+
abs.exr : 256 x 256, 4 channel, half openexr
132+
SHA-1: A670546F9AB515ABEC009BFE4C4FF6AF4D628FBA
133+
mul.exr : 256 x 256, 4 channel, half openexr
134+
SHA-1: ECCDBBBF088912F0B77B887D6B8B480C3F93615E
135+
div.exr : 256 x 256, 4 channel, half openexr
136+
SHA-1: 6A85C923DB82C893C0D88028386F1C58604A4757
137+
checker_with_alpha_filled.exr : 256 x 256, 4 channel, half openexr
138+
SHA-1: B245E027638D5C1BA2608FEDDB3BB9B5E9FA3A44
139+
tahoe_median_filter.tif : 512 x 384, 3 channel, uint8 tiff
140+
SHA-1: A0B2E3A10A16EA8CC905F144C5F91B6A0964A177
141+
tahoe_unsharp_mask.tif : 512 x 384, 3 channel, uint8 tiff
142+
SHA-1: 5842D16483BC74700DE9FD27967B2FFBD54DFCD2
143+
Comparing "simple.tif" and "../docs-examples-cpp/ref/simple.tif"
144+
PASS
145+
Comparing "scanlines.tif" and "../docs-examples-cpp/ref/scanlines.tif"
146+
PASS

0 commit comments

Comments
 (0)