[openssh-commits] [openssh] 01/01: Add Cygwin (on windows-2019) test target.

git+noreply at mindrot.org git+noreply at mindrot.org
Fri Aug 19 15:09:15 AEST 2022


This is an automated email from the git hooks/post-receive script.

dtucker pushed a commit to branch master
in repository openssh.

commit a9305c4c739f4d91a3d3a92c0b6d4949404a36c5
Author: Darren Tucker <dtucker at dtucker.net>
Date:   Fri Aug 12 15:08:47 2022 +1000

    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.
---
 .github/configs             |  7 +++++--
 .github/setup_ci.sh         |  7 +++++++
 .github/workflows/c-cpp.yml | 18 +++++++++++++-----
 3 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/.github/configs b/.github/configs
index a853c632..21bdf24c 100755
--- a/.github/configs
+++ b/.github/configs
@@ -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
 	;;
diff --git a/.github/setup_ci.sh b/.github/setup_ci.sh
index 7dec34be..b0657bd0 100755
--- a/.github/setup_ci.sh
+++ b/.github/setup_ci.sh
@@ -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
diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml
index e79e3bc9..03d6a519 100644
--- a/.github/workflows/c-cpp.yml
+++ b/.github/workflows/c-cpp.yml
@@ -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 at master
+      with:
+        packages: autoconf, automake, cygwin-devel, gcc-core, make, openssl-devel, zlib-devel
     - uses: actions/checkout at 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 at 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

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list