.appveyor.yml 2.47 KB
Newer Older
Valentin Platzgummer's avatar
Valentin Platzgummer committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
version: '{build}'
shallow_clone: true

platform: x64

environment:
  MSBUILD_FLAGS: /verbosity:minimal /maxcpucount
  APPVEYOR_SAVE_CACHE_ON_ERROR: true
  matrix:
# Makefile
  - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
    VS_VERSION: 2019
    BUILDER: make
    LANGUAGE: cc

  - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
    VS_VERSION: 2019
    BUILDER: make
    LANGUAGE: python

  - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
    VS_VERSION: 2019
    BUILDER: make
    LANGUAGE: java

  - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
    VS_VERSION: 2019
    BUILDER: make
    LANGUAGE: dotnet
# CMake
  - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
    VS_VERSION: 2019
    BUILDER: cmake
    CMAKE_GENERATOR: "Visual Studio 16 2019"

matrix:
  fast_finish: false

cache:
  - dependencies\install -> makefiles\Makefile.third_party.win.mk
  - build\dependencies\install -> cmake\dependencies

before_build:
  - git config --global user.email "ci@appveyor.com"
  - git config --global user.name "CI"
  - if "%VS_VERSION%"=="2017" call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
  - if "%VS_VERSION%"=="2019" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
  - set PATH=C:\Python38-x64;%PATH%
  - tools\win\which.exe python.exe
  - python -V
  - python -m pip install virtualenv wheel absl-py mypy-protobuf
  - set PATH=C:\Python38-x64\Scripts;%PATH%
  - tools\win\which.exe protoc-gen-mypy
  - tools\win\which.exe dotnet.exe
  - dotnet --info
  - set "JAVA_HOME=C:\Program Files\Java\jdk11"
  - set "PATH=C:\Program Files\Java\jdk11\bin;%PATH%"
  - java -version
  - set CMAKE_BUILD_PARALLEL_LEVEL=4
  - if "%BUILDER%"=="cmake" cmake --version
  - if "%BUILDER%"=="cmake" cmake -S. -Bbuild -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_DEPS:BOOL=ON -G "%CMAKE_GENERATOR%" || VER>NUL
  - if "%BUILDER%"=="make" del "C:\Program Files\Git\usr\bin\sh.exe"
  - if "%BUILDER%"=="make" tools\make.exe detect

build_script:
  - if "%BUILDER%"=="cmake" cmake --build build --config Release --target ALL_BUILD -- %MSBUILD_FLAGS%
  - if "%BUILDER%"=="make" tools\make.exe help_%LANGUAGE%
  - if "%BUILDER%"=="make" ( tools\make.exe %LANGUAGE% || ( tools\make.exe third_party && tools\make.exe %LANGUAGE% ) )
  - if "%BUILDER%"=="make" tools\make.exe test_%LANGUAGE%
  - if "%LANGUAGE%"=="cc" tools\make.exe test_fz

test_script:
  - if "%BUILDER%"=="cmake" cmake --build build --config Release --target RUN_TESTS