2323 - {bin: tform, test: default}
2424 - {bin: tform, test: default, nthreads: 2}
2525 - {bin: parform, test: default, timeout: 15}
26- - {bin: form, test: checkpoint}
27- - {bin: tform, test: checkpoint}
28- - {bin: form, test: forcer, timeout: 60}
29- - {bin: tform, test: forcer, timeout: 60}
30- - {bin: tform, test: forcer, nthreads: 2, timeout: 60}
31- - {bin: tform, test: multithreaded}
26+ - {bin: form, test: extra, timeout: 60}
27+ - {bin: tform, test: extra, timeout: 60}
28+ - {bin: tform, test: extra, nthreads: 2, timeout: 60}
3229 steps :
3330 - name : Checkout repository
3431 uses : actions/checkout@v4
6966
7067 - name : Cache library
7168 id : cache-formlib
72- if : contains(fromJson('["forcer "]'), matrix.test)
69+ if : contains(fromJson('["extra "]'), matrix.test)
7370 uses : actions/cache@v4
7471 with :
7572 path : formlib
@@ -80,11 +77,14 @@ jobs:
8077 run : |
8178 mkdir -p formlib
8279 case ${{ matrix.test }} in
83- forcer)
80+ extra)
81+ # forcer library for the forcer test in extra
8482 wget https://github.com/benruijl/forcer/archive/v1.0.0.tar.gz -O - | tar -x --gzip
8583 mv forcer-1.0.0/forcer.h formlib
8684 mv forcer-1.0.0/forcer formlib
8785 rm -rf forcer-1.0.0
86+ # color library for the color test in extra
87+ wget https://www.nikhef.nl/~form/maindir/packages/color/color.h -P formlib
8888 ;;
8989 esac
9090
@@ -97,37 +97,40 @@ jobs:
9797 # thoroughly by using Valgrind on Linux. To maximize the use of concurrent
9898 # jobs, we divide the tests into smaller parts.
9999 valgrind-check :
100- name : Valgrind check for ${{ matrix.bin }}${{ matrix.nthreads && format(' -w{0}', matrix.nthreads) || '' }} (${{ matrix.group }})
100+ name : Valgrind check (${{ matrix.test }}) for ${{ matrix.bin }}${{ matrix.nthreads && format(' -w{0}', matrix.nthreads) || '' }} (${{ matrix.group }})
101101 runs-on : ubuntu-24.04
102102 strategy :
103103 fail-fast : false
104104 matrix :
105105 include :
106- - {bin: vorm, group: 1/5}
107- - {bin: vorm, group: 2/5}
108- - {bin: vorm, group: 3/5}
109- - {bin: vorm, group: 4/5}
110- - {bin: vorm, group: 5/5}
111- - {bin: tvorm, group: 1/10}
112- - {bin: tvorm, group: 2/10}
113- - {bin: tvorm, group: 3/10}
114- - {bin: tvorm, group: 4/10}
115- - {bin: tvorm, group: 5/10}
116- - {bin: tvorm, group: 6/10}
117- - {bin: tvorm, group: 7/10}
118- - {bin: tvorm, group: 8/10}
119- - {bin: tvorm, group: 9/10}
120- - {bin: tvorm, group: 10/10}
121- - {bin: tvorm, nthreads: 2, group: 1/10}
122- - {bin: tvorm, nthreads: 2, group: 2/10}
123- - {bin: tvorm, nthreads: 2, group: 3/10}
124- - {bin: tvorm, nthreads: 2, group: 4/10}
125- - {bin: tvorm, nthreads: 2, group: 5/10}
126- - {bin: tvorm, nthreads: 2, group: 6/10}
127- - {bin: tvorm, nthreads: 2, group: 7/10}
128- - {bin: tvorm, nthreads: 2, group: 8/10}
129- - {bin: tvorm, nthreads: 2, group: 9/10}
130- - {bin: tvorm, nthreads: 2, group: 10/10}
106+ - {bin: vorm, test: default, group: 1/5}
107+ - {bin: vorm, test: default, group: 2/5}
108+ - {bin: vorm, test: default, group: 3/5}
109+ - {bin: vorm, test: default, group: 4/5}
110+ - {bin: vorm, test: default, group: 5/5}
111+ - {bin: tvorm, test: default, group: 1/10}
112+ - {bin: tvorm, test: default, group: 2/10}
113+ - {bin: tvorm, test: default, group: 3/10}
114+ - {bin: tvorm, test: default, group: 4/10}
115+ - {bin: tvorm, test: default, group: 5/10}
116+ - {bin: tvorm, test: default, group: 6/10}
117+ - {bin: tvorm, test: default, group: 7/10}
118+ - {bin: tvorm, test: default, group: 8/10}
119+ - {bin: tvorm, test: default, group: 9/10}
120+ - {bin: tvorm, test: default, group: 10/10}
121+ - {bin: tvorm, test: default, nthreads: 2, group: 1/10}
122+ - {bin: tvorm, test: default, nthreads: 2, group: 2/10}
123+ - {bin: tvorm, test: default, nthreads: 2, group: 3/10}
124+ - {bin: tvorm, test: default, nthreads: 2, group: 4/10}
125+ - {bin: tvorm, test: default, nthreads: 2, group: 5/10}
126+ - {bin: tvorm, test: default, nthreads: 2, group: 6/10}
127+ - {bin: tvorm, test: default, nthreads: 2, group: 7/10}
128+ - {bin: tvorm, test: default, nthreads: 2, group: 8/10}
129+ - {bin: tvorm, test: default, nthreads: 2, group: 9/10}
130+ - {bin: tvorm, test: default, nthreads: 2, group: 10/10}
131+ - {bin: vorm, test: extra, group: 1/1}
132+ - {bin: tvorm, test: extra, group: 1/1}
133+ - {bin: tvorm, test: extra, nthreads: 2, group: 1/1}
131134 steps :
132135 - name : Checkout repository
133136 uses : actions/checkout@v4
@@ -159,21 +162,50 @@ jobs:
159162 - name : Build
160163 run : make -C sources -j 4 ${{ matrix.bin }}
161164
165+ - name : Cache library
166+ id : cache-formlib
167+ if : contains(fromJson('["extra"]'), matrix.test)
168+ uses : actions/cache@v4
169+ with :
170+ path : formlib
171+ key : formlib-${{ matrix.test }}
172+
173+ - name : Install library if necessary
174+ if : steps.cache-formlib.outputs.cache-hit != 'true'
175+ run : |
176+ mkdir -p formlib
177+ case ${{ matrix.test }} in
178+ extra)
179+ # forcer library for the forcer test in extra
180+ wget https://github.com/benruijl/forcer/archive/v1.0.0.tar.gz -O - | tar -x --gzip
181+ mv forcer-1.0.0/forcer.h formlib
182+ mv forcer-1.0.0/forcer formlib
183+ rm -rf forcer-1.0.0
184+ # color library for the color test in extra
185+ wget https://www.nikhef.nl/~form/maindir/packages/color/color.h -P formlib
186+ ;;
187+ esac
188+
162189 - name : Test
163- run : ./check/check.rb valgrind ./sources/${{ matrix.bin }} --stat -g ${{ matrix.group }} --retries 5 ${{ matrix.nthreads && format('-w{0}', matrix.nthreads) || '' }}
190+ run : ./check/check.rb valgrind ./sources/${{ matrix.bin }} --stat -g ${{ matrix.group }} --retries 5 ${{ matrix.nthreads && format('-w{0}', matrix.nthreads) || '' }} ${{ matrix.test != 'default' && format('-C {0}', matrix.test) || '' }}
191+ env :
192+ FORMPATH : ${{ github.workspace }}/formlib
164193
165194 # Generate LCOV coverage data to be posted to coveralls.io. Note that
166195 # we measure code coverage only for tests checked with Valgrind.
167196 coverage :
168- name : Code coverage for ${{ matrix.bin }}${{ matrix.nthreads && format(' -w{0}', matrix.nthreads) || '' }}
197+ name : Code coverage (${{ matrix.test }}) for ${{ matrix.bin }}${{ matrix.nthreads && format(' -w{0}', matrix.nthreads) || '' }}
169198 runs-on : ubuntu-24.04
170199 strategy :
171200 fail-fast : false
172201 matrix :
173202 include :
174- - {bin: vorm}
175- - {bin: tvorm}
176- - {bin: tvorm, nthreads: 2}
203+ - {bin: vorm, test: default}
204+ - {bin: tvorm, test: default}
205+ - {bin: tvorm, test: default, nthreads: 2}
206+ - {bin: vorm, test: extra, timeout: 60}
207+ - {bin: tvorm, test: extra, timeout: 60}
208+ - {bin: tvorm, test: extra, nthreads: 2, timeout: 60}
177209 steps :
178210 - name : Checkout repository
179211 uses : actions/checkout@v4
@@ -202,8 +234,34 @@ jobs:
202234 - name : Build
203235 run : make -C sources -j 4 ${{ matrix.bin }}
204236
237+ - name : Cache library
238+ id : cache-formlib
239+ if : contains(fromJson('["extra"]'), matrix.test)
240+ uses : actions/cache@v4
241+ with :
242+ path : formlib
243+ key : formlib-${{ matrix.test }}
244+
245+ - name : Install library if necessary
246+ if : steps.cache-formlib.outputs.cache-hit != 'true'
247+ run : |
248+ mkdir -p formlib
249+ case ${{ matrix.test }} in
250+ extra)
251+ # forcer library for the forcer test in extra
252+ wget https://github.com/benruijl/forcer/archive/v1.0.0.tar.gz -O - | tar -x --gzip
253+ mv forcer-1.0.0/forcer.h formlib
254+ mv forcer-1.0.0/forcer formlib
255+ rm -rf forcer-1.0.0
256+ # color library for the color test in extra
257+ wget https://www.nikhef.nl/~form/maindir/packages/color/color.h -P formlib
258+ ;;
259+ esac
260+
205261 - name : Test
206- run : ./check/check.rb ./sources/${{ matrix.bin }} --stat --timeout 30 ${{ matrix.nthreads && format('-w{0}', matrix.nthreads) || '' }} --fake-valgrind
262+ run : ./check/check.rb ./sources/${{ matrix.bin }} --stat --timeout ${{ matrix.timeout && format('--timeout {0}', matrix.timeout) || '30' }} ${{ matrix.nthreads && format('-w{0}', matrix.nthreads) || '' }} ${{ matrix.test != 'default' && format('-C {0}', matrix.test) || '' }} --fake-valgrind
263+ env :
264+ FORMPATH : ${{ github.workspace }}/formlib
207265
208266 - name : Generate LCOV coverage data
209267 run : |
@@ -213,7 +271,7 @@ jobs:
213271 - name : Coveralls Parallel
214272 uses : coverallsapp/github-action@v2
215273 with :
216- flag-name : ${{ matrix.bin }}${{ matrix.nthreads && format(' -w{0}', matrix.nthreads) || '' }}
274+ flag-name : ${{ matrix.bin }}${{ matrix.nthreads && format(' -w{0}', matrix.nthreads) || '' }} (${{ matrix.test }})
217275 parallel : true
218276
219277 # Post LCOV coverage data to coveralls.io.
0 commit comments