Skip to content

Commit

Permalink
Interop test against PuTTY snapshot.
Browse files Browse the repository at this point in the history
  • Loading branch information
daztucker committed Feb 7, 2024
1 parent 91898bf commit 3c61d74
Show file tree
Hide file tree
Showing 3 changed files with 105 additions and 69 deletions.
3 changes: 3 additions & 0 deletions .github/configs
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,9 @@ 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"
;;
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
Expand Down
26 changes: 26 additions & 0 deletions .github/setup_ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
;;
Expand Down Expand Up @@ -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
145 changes: 76 additions & 69 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,79 +15,86 @@ jobs:
# First we test all OSes in the default configuration.
target:
- ubuntu-20.04
- ubuntu-22.04
- macos-11
- macos-12
- macos-13
- windows-2019
- windows-2022
# - ubuntu-22.04
# - macos-11
# - macos-12
# - macos-13
# - windows-2019
# - windows-2022
config: [default]
# Then we include any extra configs we want to test for specific VMs.
# Valgrind slows things down quite a bit, so start them first.
include:
- { target: windows-2019, config: cygwin-release }
- { target: windows-2022, config: cygwin-release }
- { target: ubuntu-20.04, config: valgrind-1 }
- { target: ubuntu-20.04, config: valgrind-2 }
- { target: ubuntu-20.04, config: valgrind-3 }
- { target: ubuntu-20.04, config: valgrind-4 }
- { target: ubuntu-20.04, config: valgrind-5 }
- { target: ubuntu-20.04, config: valgrind-unit }
- { target: ubuntu-20.04, config: c89 }
- { target: ubuntu-20.04, config: clang-6.0 }
- { target: ubuntu-20.04, config: clang-8 }
- { target: ubuntu-20.04, config: clang-9 }
- { target: ubuntu-20.04, config: clang-10 }
- { target: ubuntu-20.04, config: clang-11 }
- { target: ubuntu-20.04, config: clang-12-Werror }
- { target: ubuntu-20.04, config: clang-sanitize-address }
- { target: ubuntu-20.04, config: clang-sanitize-undefined }
- { target: ubuntu-20.04, config: gcc-sanitize-address }
- { target: ubuntu-20.04, config: gcc-sanitize-undefined }
- { target: ubuntu-20.04, config: gcc-7 }
- { target: ubuntu-20.04, config: gcc-8 }
- { target: ubuntu-20.04, config: gcc-10 }
- { target: ubuntu-22.04, config: gcc-11-Werror }
- { target: ubuntu-22.04, config: gcc-12-Werror }
- { target: ubuntu-20.04, config: pam }
- { target: ubuntu-20.04, config: kitchensink }
- { target: ubuntu-22.04, config: hardenedmalloc }
- { target: ubuntu-20.04, config: tcmalloc }
- { target: ubuntu-20.04, config: musl }
- { target: ubuntu-latest, config: boringssl }
- { target: ubuntu-latest, config: libressl-master }
- { target: ubuntu-latest, config: libressl-3.2.6 }
- { target: ubuntu-latest, config: libressl-3.3.6 }
- { target: ubuntu-latest, config: libressl-3.4.3 }
- { target: ubuntu-latest, config: libressl-3.5.3 }
- { target: ubuntu-latest, config: libressl-3.6.1 }
- { target: ubuntu-latest, config: libressl-3.7.2 }
- { target: ubuntu-latest, config: libressl-3.8.2 }
- { target: ubuntu-latest, config: openssl-master }
- { target: ubuntu-latest, config: openssl-noec }
- { target: ubuntu-latest, config: openssl-1.1.1 }
- { target: ubuntu-latest, config: openssl-1.1.1t }
- { target: ubuntu-latest, config: openssl-1.1.1w }
- { target: ubuntu-latest, config: openssl-3.0.0 }
- { target: ubuntu-latest, config: openssl-3.0.12 }
- { target: ubuntu-latest, config: openssl-3.1.0 }
- { target: ubuntu-latest, config: openssl-3.1.4 }
- { target: ubuntu-latest, config: openssl-3.2.0 }
- { 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: zlib-develop }
- { target: ubuntu-22.04, config: pam }
- { target: ubuntu-22.04, config: krb5 }
- { target: ubuntu-22.04, config: heimdal }
- { target: ubuntu-22.04, config: libedit }
- { target: ubuntu-22.04, config: sk }
- { target: ubuntu-22.04, config: selinux }
- { target: ubuntu-22.04, config: kitchensink }
- { target: ubuntu-22.04, config: without-openssl }
- { target: macos-11, config: pam }
- { target: macos-12, config: pam }
- { target: macos-13, config: pam }
# - { target: windows-2019, config: cygwin-release }
# - { target: windows-2022, config: cygwin-release }
# - { target: ubuntu-20.04, config: valgrind-1 }
# - { target: ubuntu-20.04, config: valgrind-2 }
# - { target: ubuntu-20.04, config: valgrind-3 }
# - { target: ubuntu-20.04, config: valgrind-4 }
# - { target: ubuntu-20.04, config: valgrind-5 }
# - { target: ubuntu-20.04, config: valgrind-unit }
# - { target: ubuntu-20.04, config: c89 }
# - { target: ubuntu-20.04, config: clang-6.0 }
# - { target: ubuntu-20.04, config: clang-8 }
# - { target: ubuntu-20.04, config: clang-9 }
# - { target: ubuntu-20.04, config: clang-10 }
# - { target: ubuntu-20.04, config: clang-11 }
# - { target: ubuntu-20.04, config: clang-12-Werror }
# - { target: ubuntu-20.04, config: clang-sanitize-address }
# - { target: ubuntu-20.04, config: clang-sanitize-undefined }
# - { target: ubuntu-20.04, config: gcc-sanitize-address }
# - { target: ubuntu-20.04, config: gcc-sanitize-undefined }
# - { target: ubuntu-20.04, config: gcc-7 }
# - { target: ubuntu-20.04, config: gcc-8 }
# - { target: ubuntu-20.04, config: gcc-10 }
# - { target: ubuntu-22.04, config: gcc-11-Werror }
# - { target: ubuntu-22.04, config: gcc-12-Werror }
# - { target: ubuntu-20.04, config: pam }
# - { target: ubuntu-20.04, config: kitchensink }
# - { target: ubuntu-22.04, config: hardenedmalloc }
# - { target: ubuntu-20.04, config: tcmalloc }
# - { target: ubuntu-20.04, config: musl }
# - { target: ubuntu-latest, config: boringssl }
# - { target: ubuntu-latest, config: libressl-master }
# - { target: ubuntu-latest, config: libressl-3.2.6 }
# - { target: ubuntu-latest, config: libressl-3.3.6 }
# - { target: ubuntu-latest, config: libressl-3.4.3 }
# - { target: ubuntu-latest, config: libressl-3.5.3 }
# - { target: ubuntu-latest, config: libressl-3.6.1 }
# - { target: ubuntu-latest, config: libressl-3.7.2 }
# - { target: ubuntu-latest, config: libressl-3.8.2 }
# - { target: ubuntu-latest, config: openssl-master }
# - { target: ubuntu-latest, config: openssl-noec }
# - { target: ubuntu-latest, config: openssl-1.1.1 }
# - { target: ubuntu-latest, config: openssl-1.1.1t }
# - { target: ubuntu-latest, config: openssl-1.1.1w }
# - { target: ubuntu-latest, config: openssl-3.0.0 }
# - { target: ubuntu-latest, config: openssl-3.0.12 }
# - { target: ubuntu-latest, config: openssl-3.1.0 }
# - { target: ubuntu-latest, config: openssl-3.1.4 }
# - { target: ubuntu-latest, config: openssl-3.2.0 }
# - { 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.70 }
- { 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.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 }
# - { target: ubuntu-22.04, config: heimdal }
# - { target: ubuntu-22.04, config: libedit }
# - { target: ubuntu-22.04, config: sk }
# - { target: ubuntu-22.04, config: selinux }
# - { target: ubuntu-22.04, config: kitchensink }
# - { target: ubuntu-22.04, config: without-openssl }
# - { target: macos-11, config: pam }
# - { target: macos-12, config: pam }
# - { target: macos-13, config: pam }
runs-on: ${{ matrix.target }}
steps:
- name: set cygwin git params
Expand Down

0 comments on commit 3c61d74

Please sign in to comment.