libevent/appveyor.yml
Azat Khuzhin 93a925474d
appveyor: check intermediate powershell commands exit codes and terminate early
Otherwise build errors will be ignored, i.e. if build fails but regress
binary exists (copied from artifacts) it will be runned instead of newly
compiled.
2019-04-02 23:31:43 +03:00

113 lines
3.6 KiB
YAML

version: 2.2.0.{build}
os: Visual Studio 2017
platform:
- x64
branches:
except:
- /.*travis.*/
- /.*linux.*/
- /.*freebsd.*/
- /.*osx.*/
- /.*bitrise.*/
skip_commits:
message: /travis/
files:
- .travis.yml
environment:
global:
APPVEYOR_SAVE_CACHE_ON_ERROR: true
MINGW_ROOT: C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1
OPENSSL_ROOT: C:/OpenSSL-Win64
MPATH: C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/bin;C:/msys64/bin;C:/cygwin64/bin
EVENT_TESTS_PARALLEL: 20
EVENT_BUILD_PARALLEL: 10
matrix:
# !EVENT_ALLOW_FAILURE
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: ""
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DEVENT__LIBRARY_TYPE=STATIC"
# EVENT_ALLOW_FAILURE
- EVENT_BUILD_METHOD: "autotools"
EVENT_CONFIGURE_OPTIONS: ""
EVENT_ALLOW_FAILURE: 1
- EVENT_BUILD_METHOD: "autotools"
EVENT_CONFIGURE_OPTIONS: "--disable-openssl"
EVENT_ALLOW_FAILURE: 1
- EVENT_BUILD_METHOD: "autotools"
EVENT_CONFIGURE_OPTIONS: "--disable-thread-support"
EVENT_ALLOW_FAILURE: 1
- EVENT_BUILD_METHOD: "autotools"
EVENT_CONFIGURE_OPTIONS: "--disable-debug-mode"
EVENT_ALLOW_FAILURE: 1
- EVENT_BUILD_METHOD: "autotools"
EVENT_CONFIGURE_OPTIONS: "--disable-malloc-replacement"
EVENT_ALLOW_FAILURE: 1
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_OPENSSL=ON"
EVENT_ALLOW_FAILURE: 1
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_THREAD_SUPPORT=ON"
EVENT_ALLOW_FAILURE: 1
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_DEBUG_MODE=ON"
EVENT_ALLOW_FAILURE: 1
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_MM_REPLACEMENT=ON"
EVENT_ALLOW_FAILURE: 1
- EVENT_BUILD_METHOD: "cmake"
EVENT_CMAKE_OPTIONS: "-DCMAKE_C_FLAGS='-DUNICODE -D_UNICODE'"
EVENT_ALLOW_FAILURE: 1
matrix:
allow_failures:
- EVENT_ALLOW_FAILURE: 1
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"
bash ./autogen.sh 2>&1 3>&1
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
md build-autotools 2> $null
cd build-autotools
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
bash ../configure $env:EVENT_CONFIGURE_OPTIONS 2>&1
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
make -j $env:EVENT_BUILD_PARALLEL 2>&1
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
make verify -j $env:EVENT_TESTS_PARALLEL 2>&1
} else {
md build-cmake 2> $null
cd build-cmake
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
cmake -G "Visual Studio 15 2017 Win64" .. $env:EVENT_CMAKE_OPTIONS
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
cmake --build . -j $env:EVENT_BUILD_PARALLEL -- /nologo /verbosity:minimal
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
ctest --output-on-failure -j $env:EVENT_TESTS_PARALLEL
}
cache:
- build-cmake
- build-autotools
on_failure:
- 7z a libevent.zip .
- appveyor PushArtifact libevent.zip