Add Cygwin (on windows-2019) test target.

In addition to installing the requisite Cygwin packages, we also need to
explicitly invoke "sh" for steps that run other scripts since the runner
environment doesn't understand #! paths.
This commit is contained in:
Darren Tucker 2022-08-12 15:08:47 +10:00
parent 5062ad4881
commit a9305c4c73
3 changed files with 25 additions and 7 deletions

7
.github/configs vendored
View File

@ -255,10 +255,13 @@ case "${TARGET_HOST}" in
;;
esac
# Unless specified otherwise, build without OpenSSL on Mac OS since
# modern versions don't ship with libcrypto.
case "`./config.guess`" in
*cygwin)
SUDO=""
;;
*-darwin*)
# Unless specified otherwise, build without OpenSSL on Mac OS since
# modern versions don't ship with libcrypto.
LIBCRYPTOFLAGS="--without-openssl"
TEST_TARGET=t-exec
;;

7
.github/setup_ci.sh vendored
View File

@ -3,6 +3,13 @@
. .github/configs $@
case "`./config.guess`" in
*cygwin)
echo Setting CYGWIN sustem environment variable.
setx CYGWIN "binmode"
id
chmod -R go-rw /cygdrive/d/a
umask 077
;;
*-darwin*)
brew install automake
exit 0

View File

@ -15,7 +15,7 @@ jobs:
fail-fast: false
matrix:
# First we test all OSes in the default configuration.
os: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12]
os: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, windows-2019]
configs: [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.
@ -79,13 +79,21 @@ jobs:
- { os: macos-12, configs: pam }
runs-on: ${{ matrix.os }}
steps:
- name: set cygwin git params
if: ${{ matrix.configs }} == 'windows-2019'
run: git config --global core.autocrlf input
- name: install cygwin
if: ${{ matrix.configs }} == 'windows-2019'
uses: cygwin/cygwin-install-action@master
with:
packages: autoconf, automake, cygwin-devel, gcc-core, make, openssl-devel, zlib-devel
- uses: actions/checkout@v2
- name: setup CI system
run: ./.github/setup_ci.sh ${{ matrix.configs }}
run: sh ./.github/setup_ci.sh ${{ matrix.configs }}
- name: autoreconf
run: autoreconf
run: sh -c autoreconf
- name: configure
run: ./.github/configure.sh ${{ matrix.configs }}
run: sh ./.github/configure.sh ${{ matrix.configs }}
- name: save config
uses: actions/upload-artifact@v2
with:
@ -96,7 +104,7 @@ jobs:
- name: make
run: make -j2
- name: make tests
run: ./.github/run_test.sh ${{ matrix.configs }}
run: sh ./.github/run_test.sh ${{ matrix.configs }}
env:
TEST_SSH_UNSAFE_PERMISSIONS: 1
TEST_SSH_HOSTBASED_AUTH: yes