@@ -24,15 +24,15 @@ jobs:
24
24
runs-on : ubuntu-20.04
25
25
strategy :
26
26
matrix :
27
- arch : [x86, x86_64, aarch64]
28
- cpu_instr : [non-SIMD, SSE2, AVX2, NEON, auto-selected]
27
+ arch : [x86, x86_64, armv7, aarch64]
28
+ cpu_instr : [non-SIMD, SSE2, auto-selected]
29
29
30
30
steps :
31
31
- uses : actions/checkout@v3
32
32
with :
33
33
submodules : true
34
34
- name : Setup Alpine Linux for x86
35
- if : matrix.arch == 'x86' && matrix.cpu_instr == 'auto-selected'
35
+ if : matrix.arch == 'x86'
36
36
uses : jirutka/setup-alpine@v1
37
37
with :
38
38
arch : x86
@@ -42,11 +42,23 @@ jobs:
42
42
g++
43
43
make
44
44
shell-name : alpine-x86.sh
45
+
45
46
- name : Build trimal for Linux x86
47
+ if : matrix.arch == 'x86' && matrix.cpu_instr == 'non-SIMD'
48
+ run : cmake . -DDISABLE_SSE2=1 -DDISABLE_AVX2=1 && make && file bin/trimal && file bin/readal &&
49
+ ./scripts/generate_trimmed_msas.sh && ./scripts/compare_trimmed_msas.sh
50
+ shell : alpine-x86.sh {0}
51
+ - name : Build trimal for Linux x86 and SSE2
52
+ if : matrix.arch == 'x86' && matrix.cpu_instr == 'SSE2'
53
+ run : cmake . -DDISABLE_AVX2=1 && make && file bin/trimal && file bin/readal &&
54
+ ./scripts/generate_trimmed_msas.sh && ./scripts/compare_trimmed_msas.sh
55
+ shell : alpine-x86.sh {0}
56
+ - name : Build trimal for Linux x86 and auto-selected SIMD (AVX2 if available)
46
57
if : matrix.arch == 'x86' && matrix.cpu_instr == 'auto-selected'
47
58
run : cmake . && make && file bin/trimal && file bin/readal &&
48
59
./scripts/generate_trimmed_msas.sh && ./scripts/compare_trimmed_msas.sh
49
60
shell : alpine-x86.sh {0}
61
+
50
62
- name : Build trimal for Linux x86_64
51
63
if : matrix.arch == 'x86_64' && matrix.cpu_instr == 'non-SIMD'
52
64
run : cmake . -DDISABLE_SSE2=1 -DDISABLE_AVX2=1 && make && file bin/trimal && file bin/readal &&
@@ -55,17 +67,36 @@ jobs:
55
67
if : matrix.arch == 'x86_64' && matrix.cpu_instr == 'SSE2'
56
68
run : cmake . -DDISABLE_AVX2=1 && make && file bin/trimal && file bin/readal &&
57
69
./scripts/generate_trimmed_msas.sh && ./scripts/compare_trimmed_msas.sh
58
- - name : Build trimal for Linux x86_64 and AVX2
59
- if : matrix.arch == 'x86_64' && matrix.cpu_instr == 'AVX2'
60
- run : cmake . -DDISABLE_SSE2=1 && make && file bin/trimal && file bin/readal &&
61
- ./scripts/generate_trimmed_msas.sh && ./scripts/compare_trimmed_msas.sh
62
- - name : Build trimal for Linux x86_64 and auto-selected SIMD
70
+ - name : Build trimal for Linux x86_64 and auto-selected SIMD (AVX2 if available)
63
71
if : matrix.arch == 'x86_64' && matrix.cpu_instr == 'auto-selected'
64
72
run : cmake . && make && file bin/trimal && file bin/readal &&
65
73
./scripts/generate_trimmed_msas.sh && ./scripts/compare_trimmed_msas.sh
66
74
67
- - name : Build trimal for Linux aarch64
68
- if : matrix.arch == 'aarch64' && matrix.cpu_instr == 'non-SIMD'
75
+ - name : Setup Alpine Linux for armv7
76
+ if : matrix.arch == 'armv7'
77
+ uses : jirutka/setup-alpine@v1
78
+ with :
79
+ arch : armv7
80
+ packages : >
81
+ cmake
82
+ file
83
+ g++
84
+ make
85
+ shell-name : alpine-armv7.sh
86
+
87
+ - name : Build trimal for Linux armv7 (alpine)
88
+ if : matrix.arch == 'armv7' && matrix.cpu_instr == 'non-SIMD'
89
+ run : cmake . -DDISABLE_SSE2=1 -DDISABLE_AVX2=1 && make && file bin/trimal && file bin/readal &&
90
+ ./scripts/generate_trimmed_msas.sh && ./scripts/compare_trimmed_msas.sh
91
+ shell : alpine-armv7.sh {0}
92
+ - name : Build trimal for Linux armv7 (alpine) and auto-selected SIMD (NEON)
93
+ if : matrix.arch == 'armv7' && matrix.cpu_instr == 'auto-selected'
94
+ run : cmake . && make && file bin/trimal && file bin/readal &&
95
+ ./scripts/generate_trimmed_msas.sh && ./scripts/compare_trimmed_msas.sh
96
+ shell : alpine-armv7.sh {0}
97
+
98
+ - name : Build trimal for Linux armv7 (ubuntu)
99
+ if : matrix.arch == 'armv7' && matrix.cpu_instr == 'non-SIMD'
69
100
uses : uraimo/run-on-arch-action@v2
70
101
# Emulate ARM architecture since it's not natively supported by GitHub.
71
102
# Warning about image and host platforms not matching may be ignored (https://github.com/uraimo/run-on-arch-action/issues/127#issuecomment-1605691328)
@@ -79,10 +110,29 @@ jobs:
79
110
apt-get update -q -y
80
111
apt-get install -q -y cmake make g++ file
81
112
run : |
82
- cmake . -DDISABLE_NEON=1 -DDISABLE_SSE2=1 -DDISABLE_AVX2=1 && make && file bin/trimal && file bin/readal &&
113
+ cmake . -DDISABLE_NEON=1 && make && file bin/trimal && file bin/readal &&
83
114
./scripts/generate_trimmed_msas.sh && ./scripts/compare_trimmed_msas.sh
84
- - name : Build trimal for Linux aarch64 and NEON
85
- if : matrix.arch == 'aarch64' && matrix.cpu_instr == 'NEON'
115
+
116
+ - name : Build trimal for Linux armv7 (ubuntu) and auto-selected SIMD (NEON)
117
+ if : matrix.arch == 'armv7' && matrix.cpu_instr == 'auto-selected'
118
+ uses : uraimo/run-on-arch-action@v2
119
+ # Emulate ARM architecture since it's not natively supported by GitHub.
120
+ # Warning about image and host platforms not matching may be ignored (https://github.com/uraimo/run-on-arch-action/issues/127#issuecomment-1605691328)
121
+ with :
122
+ arch : ${{ matrix.arch }}
123
+ distro : ubuntu20.04
124
+ githubToken : ${{ github.token }}
125
+ dockerRunArgs : |
126
+ --volume "${PWD}:/trimal"
127
+ install : |
128
+ apt-get update -q -y
129
+ apt-get install -q -y cmake make g++ file
130
+ run : |
131
+ cmake . && make && file bin/trimal && file bin/readal &&
132
+ ./scripts/generate_trimmed_msas.sh && ./scripts/compare_trimmed_msas.sh
133
+
134
+ - name : Build trimal for Linux aarch64
135
+ if : matrix.arch == 'aarch64' && matrix.cpu_instr == 'non-SIMD'
86
136
uses : uraimo/run-on-arch-action@v2
87
137
# Emulate ARM architecture since it's not natively supported by GitHub.
88
138
# Warning about image and host platforms not matching may be ignored (https://github.com/uraimo/run-on-arch-action/issues/127#issuecomment-1605691328)
96
146
apt-get update -q -y
97
147
apt-get install -q -y cmake make g++ file
98
148
run : |
99
- cmake . -DDISABLE_SSE2=1 -DDISABLE_AVX2 =1 && make && file bin/trimal && file bin/readal &&
149
+ cmake . -DDISABLE_NEON =1 && make && file bin/trimal && file bin/readal &&
100
150
./scripts/generate_trimmed_msas.sh && ./scripts/compare_trimmed_msas.sh
101
- - name : Build trimal for Linux aarch64 and auto-selected SIMD
151
+ - name : Build trimal for Linux aarch64 and auto-selected SIMD (NEON)
102
152
if : matrix.arch == 'aarch64' && matrix.cpu_instr == 'auto-selected'
103
153
uses : uraimo/run-on-arch-action@v2
104
154
# Emulate ARM architecture since it's not natively supported by GitHub.
0 commit comments