image: - Visual Studio 2017 environment: CLI_VERSION: 2.1 RELEASE_BRANCH: master RELEASE_REPO: Samsung/netcoredbg GITHUB_API_KEY: secure: MK8IauVT12d9kr6r2oxHhSyUxV7gGL4xk8Dkf0/5LxdxbyIlAEwYlAgJuN7G6e5Z branches: except: - latest cache: - '%USERPROFILE%\.nuget\packages' - coreclr\bin\Product\Windows_NT.x64.Release\inc - coreclr\bin\Product\Windows_NT.x64.Release\lib - coreclr\src\inc - coreclr\src\debug\inc - coreclr\src\debug\shim - coreclr\src\dlls\dbgshim - coreclr\src\coreclr\hosts\inc - coreclr\src\ToolBox\SOS\Strike install: ps: | $env:CORECLR_PRODUCT = "Windows_NT.x64.Release" # Make CoreCLR sources and binaries available for build script if (-not (Test-Path "coreclr\src\inc\.cache_valid")) { # Invalidate cache and build CoreCLR, put dbgshim library into cached directory rm -r -fo coreclr git clone --depth 1 https://github.com/dotnet/coreclr -b "release/$env:CLI_VERSION" cd coreclr .\build.cmd skiptests release ; if($?) { cp bin\Product\$env:CORECLR_PRODUCT\dbgshim.dll bin\Product\$env:CORECLR_PRODUCT\lib ; echo $null >> src\inc\.cache_valid } cd .. } else { # Restore dbgshim library location from cached directory cp coreclr\bin\Product\$env:CORECLR_PRODUCT\lib\dbgshim.dll coreclr\bin\Product\$env:CORECLR_PRODUCT } build_script: ps: | mkdir build cd build cmake .. -G "Visual Studio 15 2017 Win64" -DCLR_DIR="$pwd\..\coreclr" -DCMAKE_INSTALL_PREFIX="$pwd\..\netcoredbg" cmake --build . --config Release --target install cd .. dotnet build tests after_build: ps: | 7z a netcoredbg-win64-$env:APPVEYOR_REPO_BRANCH.zip netcoredbg test_script: ps: | $env:PIPE = "$pwd\netcoredbg\netcoredbg.exe" dotnet test tests\runner artifacts: - path: '*.zip' name: netcoredbg deploy: tag: latest description: '[Autogenerated] This is the latest version pushed to the $(APPVEYOR_REPO_BRANCH) branch.' provider: GitHub auth_token: $(GITHUB_API_KEY) artifact: netcoredbg draft: false prerelease: false repository: $(RELEASE_REPO) force_update: true on: branch: $(RELEASE_BRANCH)