libevent/appveyor.yml

155 lines
5.4 KiB
YAML
Raw Normal View History

---
version: 2.2.0.{build}
os:
- Visual Studio 2017
- Visual Studio 2019
platform:
- x64
branches:
except:
- /.*travis.*/
- /.*linux.*/
- /.*freebsd.*/
- /.*osx.*/
- /.*bitrise.*/
skip_commits:
message: /travis/
files:
- .travis.yml
environment:
global:
APPVEYOR_SAVE_CACHE_ON_ERROR: true
OPENSSL_ROOT: C:/OpenSSL-Win64
PYTHON3: C:/Python37-x64/python.exe
MPATH: C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin;C:/msys64/usr/bin
# Do not run tests in parallel to reduce false-positive
EVENT_TESTS_PARALLEL: 1
2018-11-21 07:04:33 +03:00
EVENT_BUILD_PARALLEL: 10
matrix:
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: ""
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
2018-12-17 21:41:32 +03:00
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DEVENT__LIBRARY_TYPE=STATIC"
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
- EVENT_BUILD_METHOD: "autotools"
EVENT_CONFIGURE_OPTIONS: ""
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
- EVENT_BUILD_METHOD: "autotools"
EVENT_CONFIGURE_OPTIONS: "--disable-openssl"
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
- EVENT_BUILD_METHOD: "autotools"
EVENT_CONFIGURE_OPTIONS: "--disable-thread-support"
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
- EVENT_BUILD_METHOD: "autotools"
EVENT_CONFIGURE_OPTIONS: "--disable-debug-mode"
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
- EVENT_BUILD_METHOD: "autotools"
EVENT_CONFIGURE_OPTIONS: "--disable-malloc-replacement"
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_OPENSSL=ON"
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_THREAD_SUPPORT=ON"
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_DEBUG_MODE=ON"
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_MM_REPLACEMENT=ON"
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DCMAKE_C_FLAGS='-DUNICODE -D_UNICODE'"
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: ""
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
TEST_EXPORT: "SHARED"
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DEVENT__LIBRARY_TYPE=STATIC -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
TEST_EXPORT: "STATIC"
matrix:
exclude:
- os: Visual Studio 2019
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
- os: Visual Studio 2017
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
fast_finish: true
init:
- 'echo Repo build branch is: %APPVEYOR_REPO_BRANCH%'
- 'echo Build folder is: %APPVEYOR_BUILD_FOLDER%'
- 'echo Repo build commit is: %APPVEYOR_REPO_COMMIT%'
- 'echo PATH is: %PATH%'
build_script:
- ps: |
if ($env:EVENT_BUILD_METHOD -eq 'autotools') {
$env:PATH="$env:MPATH;$env:OPENSSL_ROOT/bin;$env:PATH"
$env:LDFLAGS="-L$($env:OPENSSL_ROOT)/lib -L$($env:OPENSSL_ROOT)"
$env:CFLAGS="-I$($env:OPENSSL_ROOT)/include"
$script='
./autogen.sh 2>&1 3>&1
[[ $? -ne 0 ]] && exit 1
mkdir build-autotools 2>/dev/null
cd build-autotools
[[ $? -ne 0 ]] && exit 1
../configure $EVENT_CONFIGURE_OPTIONS 2>&1
[[ $? -ne 0 ]] && exit 1
make -j $EVENT_BUILD_PARALLEL 2>&1
[[ $? -ne 0 ]] && exit 1
make verify -j $EVENT_TESTS_PARALLEL 2>&1 '
bash -c $script
} else {
$env:PATH="$env:OPENSSL_ROOT/bin;$env:PATH"
if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq 'Visual Studio 2017') {
$env:BUILD_DIR="build-cmake"
}
if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq 'Visual Studio 2019') {
$env:BUILD_DIR="build-cmake-vs2019"
}
md $env:BUILD_DIR 2> $null
cd $env:BUILD_DIR
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq 'Visual Studio 2017') {
$env:cmake_cmd="cmake -G 'Visual Studio 15 2017 Win64' .. $env:EVENT_CMAKE_OPTIONS"
}
if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq 'Visual Studio 2019') {
$env:cmake_cmd="cmake -G 'Visual Studio 16 2019' -A x64 .. $env:EVENT_CMAKE_OPTIONS"
}
Invoke-Expression $env:cmake_cmd
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
2019-01-29 20:58:01 +03:00
cmake --build . -j $env:EVENT_BUILD_PARALLEL -- /nologo /verbosity:minimal
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
if ($env:TEST_EXPORT -eq 'STATIC') {
&$env:PYTHON3 ../test-export/test-export.py static
} elseif ($env:TEST_EXPORT -eq 'SHARED') {
&$env:PYTHON3 ../test-export/test-export.py shared
} else {
ctest --output-on-failure -j $env:EVENT_TESTS_PARALLEL
}
}
cache:
- build-cmake
- build-cmake-vs2019
- build-autotools
on_failure:
- 7z a libevent.zip .
- appveyor PushArtifact libevent.zip