Edit

kc3-lang/libevent/appveyor.yml

Branch :

  • Show log

    Commit

  • Author : Azat Khuzhin
    Date : 2019-04-02 23:25:08
    Hash : 17eee0e4
    Message : 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. (cherry picked from commit 93a925474d22b94e5ad75a48656033e55efe9055)

  • appveyor.yml
  • version: 2.1.9.{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