summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@dtucker.net>2024-02-07 13:45:02 +1100
committerDarren Tucker <dtucker@dtucker.net>2024-02-07 23:10:34 +1100
commitcbbdf868bce431a59e2fa36ca244d5739429408d (patch)
treec7ee479e4bc91b276eda4bfa3bc372ed8d044f06
parent91898bf786b0f149f962c4c96c08a46f29888c10 (diff)
Interop test against PuTTY snapshot and releases.
-rwxr-xr-x.github/configs5
-rwxr-xr-x.github/setup_ci.sh26
-rw-r--r--.github/workflows/c-cpp.yml11
3 files changed, 42 insertions, 0 deletions
diff --git a/.github/configs b/.github/configs
index 963e8771..370fe29a 100755
--- a/.github/configs
+++ b/.github/configs
@@ -164,6 +164,11 @@ case "$config" in
libressl-*)
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/libressl --with-rpath=-Wl,-rpath,"
;;
+ putty-*)
+ CONFIGFLAGS="--with-plink=/usr/local/bin/plink --with-puttygen=/usr/local/bin/puttygen"
+ # We don't need to rerun the regular tests, just the interop ones.
+ TEST_TARGET=interop-tests
+ ;;
openssl-*)
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/openssl --with-rpath=-Wl,-rpath,"
# OpenSSL 1.1.1 specifically has a bug in its RNG that breaks reexec
diff --git a/.github/setup_ci.sh b/.github/setup_ci.sh
index d0ba7b47..f0f2761c 100755
--- a/.github/setup_ci.sh
+++ b/.github/setup_ci.sh
@@ -142,6 +142,10 @@ for TARGET in $TARGETS; do
INSTALL_BORINGSSL=1
PACKAGES="${PACKAGES} cmake ninja-build"
;;
+ putty-*)
+ INSTALL_PUTTY=$(echo "${TARGET}" | cut -f2 -d-)
+ PACKAGES="${PACKAGES} cmake"
+ ;;
valgrind*)
PACKAGES="$PACKAGES valgrind"
;;
@@ -241,3 +245,25 @@ if [ ! -z "${INSTALL_ZLIB}" ]; then
cd ${HOME}/zlib && ./configure && make &&
sudo make install prefix=/opt/zlib)
fi
+
+if [ ! -z "${INSTALL_PUTTY}" ]; then
+ ver="${INSTALL_PUTTY}"
+ case "${INSTALL_PUTTY}" in
+ snapshot)
+ tarball=putty.tar.gz
+ (cd /tmp && wget https://tartarus.org/~simon/putty-snapshots/${tarball})
+ ;;
+ *)
+ tarball=putty-${ver}.tar.gz
+ (cd /tmp && wget https://the.earth.li/~sgtatham/putty/${ver}/${tarball})
+ ;;
+ esac
+ (cd ${HOME} && tar xfz /tmp/${tarball} && cd putty-*
+ if [ -f CMakeLists.txt ]; then
+ cmake . && cmake --build . && sudo cmake --build . --target install
+ else
+ ./configure && make && sudo make install
+ fi
+ )
+ /usr/local/bin/plink -V
+fi
diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml
index 8f624d21..f4423dfa 100644
--- a/.github/workflows/c-cpp.yml
+++ b/.github/workflows/c-cpp.yml
@@ -76,6 +76,17 @@ jobs:
- { target: ubuntu-latest, config: openssl-1.1.1_stable }
- { target: ubuntu-latest, config: openssl-3.0 } # stable branch
- { target: ubuntu-latest, config: openssl-3.2 } # stable branch
+ - { target: ubuntu-latest, config: putty-0.71 }
+ - { target: ubuntu-latest, config: putty-0.72 }
+ - { target: ubuntu-latest, config: putty-0.73 }
+ - { target: ubuntu-latest, config: putty-0.74 }
+ - { target: ubuntu-latest, config: putty-0.75 }
+ - { target: ubuntu-latest, config: putty-0.76 }
+ - { target: ubuntu-latest, config: putty-0.77 }
+ - { target: ubuntu-latest, config: putty-0.78 }
+ - { target: ubuntu-latest, config: putty-0.79 }
+ - { target: ubuntu-latest, config: putty-0.80 }
+ - { target: ubuntu-latest, config: putty-snapshot }
- { target: ubuntu-latest, config: zlib-develop }
- { target: ubuntu-22.04, config: pam }
- { target: ubuntu-22.04, config: krb5 }