summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.cirrus.yml34
-rw-r--r--.github/workflows/ci.yml40
-rwxr-xr-xbuild/ci/github_actions/ci.cmd79
3 files changed, 114 insertions, 39 deletions
diff --git a/.cirrus.yml b/.cirrus.yml
index d87e4898..ab03f78b 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -77,40 +77,6 @@ Fedora_30_distcheck_task:
distcheck_script:
- ./build/ci/build.sh -a distcheck
-Windows_MSVC_task:
- windows_container:
- dockerfile: build/ci/cirrus_ci/Dockerfile.msvc
- os_version: 2019
- env:
- BE: msvc
- configure_script:
- - build\ci\cirrus_ci\ci.cmd configure
- build_script:
- - build\ci\cirrus_ci\ci.cmd build
- test_script:
- - build\ci\cirrus_ci\ci.cmd test
- instal_script:
- - build\ci\cirrus_ci\ci.cmd install
-
-Windows_MinGW_task:
- windows_container:
- image: cirrusci/windowsservercore:2019
- os_version: 2019
- env:
- BE: mingw-gcc
- prepare_script:
- - build\ci\cirrus_ci\ci.cmd prepare
- deplibs_script:
- - build\ci\cirrus_ci\ci.cmd deplibs
- configure_script:
- - build\ci\cirrus_ci\ci.cmd configure
- build_script:
- - build\ci\cirrus_ci\ci.cmd build
- test_script:
- - build\ci\cirrus_ci\ci.cmd test
- install_script:
- - build\ci\cirrus_ci\ci.cmd install
-
Windows_Cygwin_task:
windows_container:
image: cirrusci/windowsservercore:2019
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index fc709d0b..1b0debcb 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,16 +1,13 @@
-name: Ubuntu
+name: CI
on: [push, pull_request]
jobs:
- Build-and-test:
-
+ Ubuntu:
runs-on: ubuntu-latest
-
strategy:
matrix:
bs: [autotools, cmake]
-
steps:
- uses: actions/checkout@master
- name: Install dependencies
@@ -36,3 +33,36 @@ jobs:
run: ./build/ci/build.sh -a install
env:
BS: ${{ matrix.bs }}
+
+ Windows:
+ runs-on: windows-latest
+ strategy:
+ matrix:
+ be: [mingw-gcc, msvc]
+ steps:
+ - uses: actions/checkout@master
+ - name: Install dependencies
+ run: ./build/ci/github_actions/ci.cmd deplibs
+ shell: cmd
+ env:
+ BE: ${{ matrix.be }}
+ - name: Configure
+ run: ./build/ci/github_actions/ci.cmd configure
+ shell: cmd
+ env:
+ BE: ${{ matrix.be }}
+ - name: Build
+ run: ./build/ci/github_actions/ci.cmd build
+ shell: cmd
+ env:
+ BE: ${{ matrix.be }}
+ - name: Test
+ run: ./build/ci/github_actions/ci.cmd test
+ shell: cmd
+ env:
+ BE: ${{ matrix.be }}
+ - name: Install
+ run: ./build/ci/github_actions/ci.cmd install
+ shell: cmd
+ env:
+ BE: ${{ matrix.be }}
diff --git a/build/ci/github_actions/ci.cmd b/build/ci/github_actions/ci.cmd
new file mode 100755
index 00000000..30626d5c
--- /dev/null
+++ b/build/ci/github_actions/ci.cmd
@@ -0,0 +1,79 @@
+@ECHO OFF
+SET ZLIB_VERSION=1.2.11
+IF NOT "%BE%"=="mingw-gcc" (
+ IF NOT "%BE%"=="msvc" (
+ ECHO Environment variable BE must be mingw-gcc or msvc
+ EXIT /b 1
+ )
+)
+
+IF "%1"=="deplibs" (
+ IF NOT EXIST build_ci\libs (
+ MKDIR build_ci\libs
+ )
+ CD build_ci\libs
+ IF NOT EXIST zlib-%ZLIB_VERSION%.tar.gz (
+ curl -o zlib-%ZLIB_VERSION%.tar.gz https://www.zlib.net/zlib-%ZLIB_VERSION%.tar.gz
+ )
+ IF NOT EXIST zlib-%ZLIB_VERSION% (
+ tar -x -z -f zlib-%ZLIB_VERSION%.tar.gz
+ )
+ CD zlib-%ZLIB_VERSION%
+ IF "%BE%"=="mingw-gcc" (
+ SET PATH=C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE="Release" . || EXIT /b 1
+ mingw32-make || EXIT /b 1
+ mingw32-make test || EXIT /b 1
+ mingw32-make install || EXIT /b 1
+ ) ELSE IF "%BE%"=="msvc" (
+ cmake -G "Visual Studio 16 2019" . || EXIT /b 1
+ cmake --build . --target ALL_BUILD --config Release || EXIT /b 1
+ cmake --build . --target RUN_TESTS --config Release || EXIT /b 1
+ cmake --build . --target INSTALL --config Release || EXIT /b 1
+ )
+) ELSE IF "%1%"=="configure" (
+ IF "%BE%"=="mingw-gcc" (
+ SET PATH=C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ MKDIR build_ci\cmake
+ CD build_ci\cmake
+ cmake -G "MinGW Makefiles" ..\.. || EXIT /b 1
+ ) ELSE IF "%BE%"=="msvc" (
+ MKDIR build_ci\cmake
+ CD build_ci\cmake
+ cmake -G "Visual Studio 16 2019" -D CMAKE_BUILD_TYPE="Release" ..\.. || EXIT /b 1
+ )
+) ELSE IF "%1%"=="build" (
+ IF "%BE%"=="mingw-gcc" (
+ SET PATH=C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ CD build_ci\cmake
+ mingw32-make || EXIT /b 1
+ ) ELSE IF "%BE%"=="msvc" (
+ CD build_ci\cmake
+ cmake --build . --target ALL_BUILD --config Release
+ )
+) ELSE IF "%1%"=="test" (
+ IF "%BE%"=="mingw-gcc" (
+ SET PATH=C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ COPY "C:\Program Files (x86)\zlib\bin\libzlib.dll" build_ci\cmake\bin\
+ CD build_ci\cmake
+ SET SKIP_TEST_SPARSE=1
+ mingw32-make test
+ ) ELSE IF "%BE%"=="msvc" (
+ ECHO "Skipping tests on this platform"
+ EXIT /b 0
+ REM CD build_ci\cmake
+ REM cmake --build . --target RUN_TESTS --config Release
+ )
+) ELSE IF "%1%"=="install" (
+ IF "%BE%"=="mingw-gcc" (
+ SET PATH=C:\Program Files\cmake\bin;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
+ CD build_ci\cmake
+ mingw32-make install DESTDIR=%cd%\destdir
+ ) ELSE IF "%BE%"=="msvc" (
+ cmake --build . --target INSTALL --config Release
+ )
+) ELSE (
+ ECHO "Usage: %0% deplibs|configure|build|test|install"
+ @EXIT /b 0
+)
+@EXIT /b 0