From 4dc37bf81b55b9a3ffcf09f7a212436d25844710 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Sat, 17 Apr 2021 10:57:16 -0700 Subject: [PATCH] Add mingw32-w64/wine CI build --- .cirrus.yml | 21 +++++++++++++++++++++ ci/cirrus.sh | 12 +++++++++++- ci/linux-debian.Dockerfile | 6 +++++- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 506a860..ffae165 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -196,3 +196,24 @@ task: - rm /etc/ld.so.cache - ./ci/cirrus.sh << : *CAT_LOGS + +task: + name: "x86_64 (mingw32-w64): Windows (Debian stable, Wine)" + container: + dockerfile: ci/linux-debian.Dockerfile + cpu: 1 + memory: 1G + env: + WINE_CMD: wine64-stable + HOST: x86_64-w64-mingw32 + BUILD: + WITH_VALGRIND: no + ECDH: yes + RECOVERY: yes + EXPERIMENTAL: yes + SCHNORRSIG: yes + CTIMETEST: no + << : *MERGE_BASE + test_script: + - ./ci/cirrus.sh + << : *CAT_LOGS diff --git a/ci/cirrus.sh b/ci/cirrus.sh index f26ca98..dafab8a 100755 --- a/ci/cirrus.sh +++ b/ci/cirrus.sh @@ -25,7 +25,7 @@ valgrind --version || true make # Print information about binaries so that we can see that the architecture is correct -file *tests || true +file *tests* || true file bench_* || true file .libs/* || true @@ -47,6 +47,12 @@ then $QEMU_CMD ./exhaustive_tests fi +if [ -n "$WINE_CMD" ] +then + $WINE_CMD ./tests 16 + $WINE_CMD ./exhaustive_tests +fi + if [ "$BENCH" = "yes" ] then # Using the local `libtool` because on macOS the system's libtool has nothing to do with GNU libtool @@ -59,6 +65,10 @@ then then EXEC="$EXEC valgrind --error-exitcode=42" fi + if [ -n "$WINE_CMD" ] + then + EXEC="$WINE_CMD" + fi # This limits the iterations in the benchmarks below to ITER iterations. export SECP256K1_BENCH_ITERS="$ITERS" { diff --git a/ci/linux-debian.Dockerfile b/ci/linux-debian.Dockerfile index 5967cf8..ef2518f 100644 --- a/ci/linux-debian.Dockerfile +++ b/ci/linux-debian.Dockerfile @@ -10,4 +10,8 @@ RUN apt-get install --no-install-recommends --no-upgrade -y \ make automake libtool pkg-config dpkg-dev valgrind qemu-user \ gcc clang libc6-dbg \ gcc-i686-linux-gnu libc6-dev-i386-cross libc6-dbg:i386 \ - gcc-s390x-linux-gnu libc6-dev-s390x-cross libc6-dbg:s390x + gcc-s390x-linux-gnu libc6-dev-s390x-cross libc6-dbg:s390x \ + wine gcc-mingw-w64-x86-64 + +# Run a dummy command in wine to make it set up configuration +RUN wine64-stable xcopy || true