@@ -255,3 +255,73 @@ jobs:
255255 builddir/tests/${{ matrix.token }}/testvars
256256 builddir/tests/${{ matrix.token }}/openssl.cnf
257257
258+ build-arm :
259+ runs-on : ubuntu-24.04-arm
260+ strategy :
261+ fail-fast : false
262+ matrix :
263+ name : [fedora]
264+ compiler : [gcc, clang]
265+ token : [softokn, softhsm, kryoptic]
266+ include :
267+ - name : fedora
268+ container : fedora:rawhide
269+
270+ container : ${{ matrix.container }}
271+ steps :
272+ - name : Install Dependencies
273+ run : |
274+ dnf -y install openssl-devel openssl
275+ dnf -y install \
276+ git ${{ matrix.compiler }} meson which pkgconf-pkg-config \
277+ diffutils expect valgrind opensc python3-six
278+ if [ "${{ matrix.token }}" = "softokn" ]; then
279+ dnf -y install nss-softokn nss-tools nss-softokn-devel \
280+ nss-devel
281+ elif [ "${{ matrix.token }}" = "softhsm" ]; then
282+ dnf -y install softhsm p11-kit-devel
283+ elif [ "${{ matrix.token }}" = "kryoptic" ]; then
284+ dnf -y install kryoptic
285+ fi
286+
287+ - name : Checkout Repository
288+ uses : actions/checkout@v4
289+
290+ - name : Setup
291+ run : |
292+ git config --global --add safe.directory \
293+ /__w/pkcs11-provider/pkcs11-provider
294+ git submodule update --init
295+ CC=${{ matrix.compiler }} meson setup builddir
296+
297+ - name : Build and Test
298+ shell : bash
299+ run : |
300+ meson compile -C builddir
301+ meson test --num-processes 1 -C builddir --suite ${{ matrix.token }}
302+
303+ - uses : actions/upload-artifact@v4
304+ if : failure()
305+ with :
306+ name : Test logs (ARM64) ${{ matrix.name }}, ${{ matrix.compiler }}, ${{ matrix.token }}
307+ path : |
308+ builddir/meson-logs/
309+ builddir/tests/${{ matrix.token }}/p11prov-debug.log
310+ builddir/tests/${{ matrix.token }}/testvars
311+ builddir/tests/${{ matrix.token }}/openssl.cnf
312+
313+ - name : Run tests with valgrind
314+ if : ( matrix.compiler == 'gcc' )
315+ shell : bash
316+ run : |
317+ meson test --num-processes 1 -C builddir --setup=valgrind --suite ${{ matrix.token }}
318+
319+ - uses : actions/upload-artifact@v4
320+ if : failure()
321+ with :
322+ name : Test valgrind logs (ARM64) ${{ matrix.name }}, ${{ matrix.compiler }}, ${{ matrix.token }}
323+ path : |
324+ builddir/meson-logs/
325+ builddir/tests/${{ matrix.token }}/p11prov-debug.log
326+ builddir/tests/${{ matrix.token }}/testvars
327+ builddir/tests/${{ matrix.token }}/openssl.cnf
0 commit comments