How to test Cygwin 3.5 using github actions
Glenn Strauss
gs-cygwin.com@gluelogic.com
Wed Jan 17 17:27:18 GMT 2024
On Wed, Jan 17, 2024 at 12:44:32PM +0100, Corinna Vinschen via Cygwin wrote:
> Hi folks,
>
> we're planning to release Cygwin 3.5 end of this month (Jan 2024) if
> nothing serious crops up.
Was: Re: [ANNOUNCEMENT] Cygwin 3.5 is coming soon, please test!
Corinna: Cygwin 3.5 works fine when tested with the lighttpd test suite.
For others who might try something similar on their own repos:
How to test Cygwin 3.5 using github actions
-------------------------------------------
Starting with:
https://github.com/cygwin/cygwin-install-action/
(Thanks Adam Dinwoodie, Jon Turney, Konrad Gräfe)
I added to my Windows-Cygwin job:
- name: Update
shell: powershell
run: |
# (https://github.com/cygwin/cygwin-install-action/blob/master/action.yml)
Invoke-WebRequest https://cygwin.com/setup-x86_64.exe -OutFile C:\setup.exe
# because setup is a Windows GUI app, make it part of a pipeline to make
# PowerShell wait for it to exit
& C:\setup.exe -qgnO -t | Out-Default
Hey Jon, would you accept a pull request to add an option to add -t to
the call to setup.exe in cygwin-install-action?
For lighttpd, I added the above to
https://github.com/lighttpd/lighttpd1.4/blob/master/.github/workflows/pr.yml#L190
The whole lighttpd Windows-Cygwin job currently looks like this:
Windows-Cygwin:
runs-on: windows-latest
env:
CYGWIN: winsymlinks:native
steps:
- run: git config --global core.autocrlf input
- uses: actions/checkout@v4
- uses: cygwin/cygwin-install-action@master
with:
packages: >
autoconf automake libtool m4 make
cmake meson ninja scons
gcc-g++ git pkgconf perl
libpcre2-devel
libnettle-devel gnutls-devel mbedtls-devel libnss-devel libssl-devel
libbrotli-devel libdeflate-devel zlib-devel libzstd-devel
libsasl2-devel libkrb5-devel libdbi-devel openldap-devel
libmariadb-devel libpq-devel
libmaxminddb-devel libunwind-devel lua-devel lua5.1-devel
libxml2-devel libuuid-devel libsqlite3-devel
- name: Update
shell: powershell
run: |
# (https://github.com/cygwin/cygwin-install-action/blob/master/action.yml)
Invoke-WebRequest https://cygwin.com/setup-x86_64.exe -OutFile C:\setup.exe
# because setup is a Windows GUI app, make it part of a pipeline to make
# PowerShell wait for it to exit
& C:\setup.exe -qgnO -t | Out-Default
- name: Compile and Test
#shell: C:\cygwin\bin\bash.exe --noprofile --norc -o igncr -eo pipefail '{0}'
shell: C:\cygwin\bin\bash.exe --login -o igncr -eo pipefail '{0}'
run: |
set -e
export PATH=/usr/bin:$(cygpath ${SYSTEMROOT})/system32
# lighttpd-specific build and test commands:
export NO_PAM=1 NO_UNWIND=1 NO_WOLFSSL=1
cd "${{github.workspace}}" && scripts/ci-build.sh autobuild
Cheers, Glenn
More information about the Cygwin
mailing list