]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
Add Cygwin (on windows-2019) test target.
authorDarren Tucker <dtucker@dtucker.net>
Fri, 12 Aug 2022 05:08:47 +0000 (15:08 +1000)
committerDarren Tucker <dtucker@dtucker.net>
Fri, 19 Aug 2022 05:08:57 +0000 (15:08 +1000)
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
.github/setup_ci.sh
.github/workflows/c-cpp.yml

index a853c6329d9151d3f46ad2f79b7a6a38f8d966da..21bdf24c445f2229002f256a55ff072465cdab6b 100755 (executable)
@@ -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
        ;;
index 7dec34beedc1e7331a4856f0607988552b882a85..b0657bd0ca4d5f5bae6e08997e9db53be73972f1 100755 (executable)
@@ -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
index e79e3bc98dbb6a944c101b1b17455b0a27caec52..03d6a5190f7d2db835a11da384814480ba2106a4 100644 (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