[openssh-commits] [openssh] 02/04: Merge all putty tests into a single test.
git+noreply at mindrot.org
git+noreply at mindrot.org
Thu Sep 25 18:25:32 AEST 2025
This is an automated email from the git hooks/post-receive script.
dtucker pushed a commit to branch master
in repository openssh.
commit 7ce3823547578a3b083085744c1fea39237197a2
Author: Darren Tucker <dtucker at dtucker.net>
AuthorDate: Tue Sep 23 22:12:19 2025 +1000
Merge all putty tests into a single test.
The lets us reuse the built OpenSSH binaries and replaces 12*4min of
tests with a single 14min one.
---
.github/install_putty.sh | 37 +++++++++++++++++++++++++++++++++++++
.github/run_test.sh | 11 +++++++++++
.github/setup_ci.sh | 22 ++--------------------
.github/workflows/c-cpp.yml | 15 +--------------
4 files changed, 51 insertions(+), 34 deletions(-)
diff --git a/.github/install_putty.sh b/.github/install_putty.sh
new file mode 100755
index 000000000..6d6d0ad49
--- /dev/null
+++ b/.github/install_putty.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+ver="$1"
+
+echo
+echo --------------------------------------
+echo Installing PuTTY version ${ver}
+echo --------------------------------------
+
+cd /tmp
+
+case "${ver}" in
+snapshot)
+ tarball=putty.tar.gz
+ url=https://tartarus.org/~simon/putty-snapshots/${tarball}
+ ;;
+*)
+ tarball=putty-${ver}.tar.gz
+ url=https://the.earth.li/~sgtatham/putty/${ver}/${tarball}
+ ;;
+esac
+
+if [ ! -f ${tarball} ]; then
+ wget -q ${url}
+fi
+
+mkdir -p /tmp/puttybuild
+cd /tmp/puttybuild
+
+tar xfz /tmp/${tarball} && cd putty-*
+if [ -f CMakeLists.txt ]; then
+ cmake . && cmake --build . -j4 && sudo cmake --build . --target install
+else
+ ./configure && make -j4 && sudo make install
+fi
+sudo rm -rf /tmp/puttybuild
+/usr/local/bin/plink -V
diff --git a/.github/run_test.sh b/.github/run_test.sh
index bd6fb7b7b..aac9ce579 100755
--- a/.github/run_test.sh
+++ b/.github/run_test.sh
@@ -35,6 +35,17 @@ if [ ! -z "${env}" ]; then
env="env${env}"
fi
+if [ "$1" = "putty-versions" ]; then
+ for ver in 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.80 \
+ 0.81 0.82 0.83 snapshot; do
+ .github/install_putty.sh "${ver}"
+ ${env} make ${TEST_TARGET} \
+ SKIP_LTESTS="${SKIP_LTESTS}" LTESTS="${LTESTS}"
+ done
+
+ exit 0
+fi
+
if [ -z "${LTESTS}" ]; then
${env} make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}"
else
diff --git a/.github/setup_ci.sh b/.github/setup_ci.sh
index 10ff77bad..c90969627 100755
--- a/.github/setup_ci.sh
+++ b/.github/setup_ci.sh
@@ -164,7 +164,7 @@ for TARGET in $TARGETS; do
PACKAGES="${PACKAGES} cmake ninja-build"
;;
putty-*)
- INSTALL_PUTTY=$(echo "${TARGET}" | cut -f2 -d-)
+ INSTALL_PUTTY=0.83
PACKAGES="${PACKAGES} cmake"
;;
valgrind*)
@@ -273,25 +273,7 @@ if [ ! -z "${INSTALL_ZLIB}" ]; then
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
+ .github/install_putty.sh "${INSTALL_PUTTY}"
fi
# If we're running on an ephemeral VM, set a random password and set
diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml
index 0ae83ccdb..a479fd2f1 100644
--- a/.github/workflows/c-cpp.yml
+++ b/.github/workflows/c-cpp.yml
@@ -103,20 +103,7 @@ jobs:
- { target: ubuntu-latest, config: openssl-3.4 } # stable branch
- { target: ubuntu-latest, config: openssl-3.5 } # stable branch
- { target: ubuntu-latest, config: openssl-3.6 } # 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-0.81 }
- - { target: ubuntu-latest, config: putty-0.82 }
- - { target: ubuntu-latest, config: putty-0.83 }
- - { target: ubuntu-latest, config: putty-snapshot }
+ - { target: ubuntu-latest, config: putty-versions }
- { target: ubuntu-latest, config: zlib-develop }
- { target: ubuntu-latest, config: tcmalloc }
- { target: ubuntu-latest, config: musl }
--
To stop receiving notification emails like this one, please contact
djm at mindrot.org.
More information about the openssh-commits
mailing list