From: Dustin L. Howett Date: Thu, 28 May 2026 21:47:56 +0000 (-0500) Subject: ci: add support for cygwin-gcc to the github CI script X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ffeb1395ceb7f684f3986d025977a7999c4ff33a;p=thirdparty%2Flibarchive.git ci: add support for cygwin-gcc to the github CI script --- diff --git a/build/ci/github_actions/ci.cmd b/build/ci/github_actions/ci.cmd index 1d80cc5d9..565beab6c 100755 --- a/build/ci/github_actions/ci.cmd +++ b/build/ci/github_actions/ci.cmd @@ -4,8 +4,10 @@ SET BZIP2_VERSION=1ea1ac188ad4b9cb662e3f8314673c63df95a589 SET XZ_VERSION=5.6.3 IF NOT "%BE%"=="mingw-gcc" ( IF NOT "%BE%"=="msvc" ( - ECHO Environment variable BE must be mingw-gcc or msvc - EXIT /b 1 + IF NOT "%BE%"=="cygwin-gcc" ( + ECHO Environment variable BE must be cygwin-gcc, mingw-gcc or msvc + EXIT /b 1 + ) ) ) @@ -24,6 +26,11 @@ IF "%BE%"=="mingw-gcc" ( ) IF "%1"=="deplibs" ( + IF "%BE%"=="cygwin-gcc" ( + ECHO Library dependencies satisfied by Cygwin install + EXIT /b 0 + ) + IF NOT EXIST build_ci\libs ( MKDIR build_ci\libs ) @@ -121,6 +128,10 @@ IF "%1"=="deplibs" ( MKDIR build_ci\cmake CD build_ci\cmake cmake -G "Visual Studio 17 2022" -D CMAKE_BUILD_TYPE="Release" -D ZLIB_LIBRARY="C:/Program Files (x86)/zlib/lib/zlibstatic.lib" -D ZLIB_INCLUDE_DIR="C:/Program Files (x86)/zlib/include" -D BZIP2_LIBRARIES="C:/Program Files (x86)/bzip2/lib/bz2_static.lib" -D BZIP2_INCLUDE_DIR="C:/Program Files (x86)/bzip2/include" -D LIBLZMA_LIBRARY="C:/Program Files (x86)/xz/lib/lzma.lib" -D LIBLZMA_INCLUDE_DIR="C:/Program Files (x86)/xz/include" -D ZSTD_LIBRARY="C:/Program Files (x86)/zstd/lib/zstd_static.lib" -D ZSTD_INCLUDE_DIR="C:/Program Files (x86)/zstd/include" ..\.. || EXIT /b 1 + ) ELSE IF "%BE%"=="cygwin-gcc" ( + SET BS=cmake + SET CYGWIN_NOWINPATH=1 + D:\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a configure" || EXIT /b 1 ) ) ELSE IF "%1%"=="build" ( IF "%BE%"=="mingw-gcc" ( @@ -130,6 +141,11 @@ IF "%1"=="deplibs" ( ) ELSE IF "%BE%"=="msvc" ( CD build_ci\cmake cmake --build . --target ALL_BUILD --config Release || EXIT /b 1 + ) ELSE IF "%BE%"=="cygwin-gcc" ( + SET BS=cmake + SET MAKE_ARGS=-j + SET CYGWIN_NOWINPATH=1 + D:\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a build" || EXIT /b 1 ) ) ELSE IF "%1%"=="test" ( IF "%BE%"=="mingw-gcc" ( @@ -140,6 +156,13 @@ IF "%1"=="deplibs" ( ) ELSE IF "%BE%"=="msvc" ( CD build_ci\cmake cmake --build . --target RUN_TESTS --config Release || EXIT /b 1 + ) ELSE IF "%BE%"=="cygwin-gcc" ( + REM SET BS=cmake + REM SET CYGWIN_NOWINPATH=1 + REM SET SKIP_TEST_SPARSE=1 + ECHO "Skipping tests on this platform" + REM D:\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a test" || EXIT /b 1 + EXIT /b 0 ) ) ELSE IF "%1%"=="install" ( IF "%BE%"=="mingw-gcc" ( @@ -149,10 +172,23 @@ IF "%1"=="deplibs" ( ) ELSE IF "%BE%"=="msvc" ( CD build_ci\cmake cmake --build . --target INSTALL --config Release || EXIT /b 1 + ) ELSE IF "%BE%"=="cygwin-gcc" ( + SET BS=cmake + SET CYGWIN_NOWINPATH=1 + D:\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a install" || EXIT /b 1 + REM Exit early here; the build.sh install step for Cygwin prints the version. + EXIT /b 0 ) "C:\Program Files (x86)\libarchive\bin\bsdtar.exe" --version ) ELSE IF "%1"=="artifact" ( - C:\windows\system32\tar.exe -c -C "C:\Program Files (x86)" --format=zip -f libarchive.zip libarchive + IF "%BE%"=="cygwin-gcc" ( + SET BS=cmake + SET CYGWIN_NOWINPATH=1 + D:\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a artifact" || EXIT /b 1 + EXIT /b 0 + ) + + C:\windows\system32\tar.exe -c -C "C:\Program Files (x86)" --format=zip -f libarchive.zip libarchive ) ELSE ( ECHO "Usage: %0% deplibs|configure|build|test|install|artifact" @EXIT /b 0