image: Visual Studio 2019 # branches: # only: # - master version: '{build}' cache: - c:\Tools\vcpkg\installed install: - cd c:\tools\vcpkg - vcpkg integrate install - vcpkg install capnproto - cd %APPVEYOR_BUILD_FOLDER% - dotnet tool install -g nbgv init: # Good practise, because Windows line endings are different from Unix/Linux ones - cmd: git config --global core.autocrlf true before_build: - cmd: nbgv cloud - cmd: dotnet --version - cmd: msbuild -ver - cmd: dotnet restore ./Capnp.Net.Runtime/Capnp.Net.Runtime.csproj --verbosity m - cmd: dotnet restore ./Capnp.Net.Runtime.Core21/Capnp.Net.Runtime.Core21.csproj --verbosity m - cmd: dotnet restore ./Capnp.Net.Runtime.Tests/Capnp.Net.Runtime.Tests.Std20.csproj --verbosity m - cmd: dotnet restore ./Capnp.Net.Runtime.Tests.Core21/Capnp.Net.Runtime.Tests.Core21.csproj --verbosity m - cmd: dotnet restore ./CapnpC.CSharp.Generator/CapnpC.CSharp.Generator.csproj --verbosity m - cmd: dotnet restore ./CapnpC.CSharp.Generator.Tests/CapnpC.CSharp.Generator.Tests.csproj --verbosity m - cmd: dotnet restore ./CapnpC.CSharp.MsBuild.Generation/CapnpC.CSharp.MsBuild.Generation.csproj --verbosity m - cmd: dotnet restore ./CapnpC.CSharp.MsBuild.Generation.Tests/CapnpC.CSharp.MsBuild.Generation.Tests.csproj --verbosity m - cmd: dotnet restore ./capnpc-csharp/capnpc-csharp.csproj --verbosity m build_script: - cmd: msbuild ./Capnp.Net.sln /p:Configuration="Debug" - cmd: msbuild ./Capnp.Net.sln /p:Configuration="Release" - cmd: msbuild ./CapnpCompatTest.sln /p:Configuration="Debug" - cmd: msbuild ./CapnpCompatTest.sln /p:Configuration="Release" - ps: scripts\capnpc-csharp-pack.ps1 after_build: # For once the build has completed artifacts: - path: bin\Release\Capnp.Net.Runtime.*.nupkg name: Capnp.Net.Runtime type: NuGetPackage - path: bin\Release\CapnpC.CSharp.MsBuild.Generation.*.nupkg name: CapnpC.CSharp.MsBuild.Generation type: NuGetPackage - path: chocolatey\install\capnpc-csharp-win-x86.*.nupkg name: capnpc-csharp-win-x86 type: NuGetPackage - path: chocolatey\install\capnpc-csharp.*-deprecated.nupkg name: capnpc-csharp-deprecated type: NuGetPackage - path: capnpc-csharp\nupkg\*.nupkg name: capnpc-csharp type: NuGetPackage test_script: - cmd: | nbgv get-version -v NuGetPackageVersion >> version.txt set /P VERSION=< version.txt vstest.console /logger:Appveyor /inIsolation CapnpC.CSharp.Generator.Tests\bin\Release\netcoreapp2.1\CapnpC.CSharp.Generator.Tests.dll choco install capnproto --source="https://chocolatey.org/api/v2" --force -y cd %APPVEYOR_BUILD_FOLDER%\capnpc-csharp dotnet tool install --global --add-source ./nupkg capnpc-csharp --version %VERSION% cd %APPVEYOR_BUILD_FOLDER%\install-test compile-test cd %APPVEYOR_BUILD_FOLDER% vstest.console /logger:Appveyor /inIsolation CapnpC.CSharp.Generator.Tests\bin\Release\netcoreapp2.1\CapnpC.CSharp.Generator.Tests.dll dotnet tool uninstall --global capnpc-csharp cd %APPVEYOR_BUILD_FOLDER%\install-test notinstalled-test cd %APPVEYOR_BUILD_FOLDER%\chocolatey\install choco install capnpc-csharp-win-x86 --source=".;https://chocolatey.org/api/v2" --force -y --version %VERSION% --pre cd %APPVEYOR_BUILD_FOLDER%\install-test compile-test choco uninstall capnpc-csharp-win-x86 -y notinstalled-test cd %APPVEYOR_BUILD_FOLDER% vstest.console /logger:Appveyor /inIsolation CapnpC.CSharp.MsBuild.Generation.Tests\bin\Release\netcoreapp2.1\CapnpC.CSharp.MsBuild.Generation.Tests.dll msbuild -t:restore ./MsBuildGenerationTest/MsBuildGenerationTest.csproj /p:Configuration="Debug" /p:PackageReferenceVersion="%VERSION%" msbuild ./MsBuildGenerationTest/MsBuildGenerationTest.sln /p:Configuration="Debug" /p:PackageReferenceVersion="%VERSION%" vstest.console /logger:Appveyor /inIsolation Capnp.Net.Runtime.Tests\bin\Debug\net471\Capnp.Net.Runtime.Tests.Std20.dll vstest.console /logger:Appveyor /inIsolation Capnp.Net.Runtime.Tests\bin\Release\net471\Capnp.Net.Runtime.Tests.Std20.dll vstest.console /logger:Appveyor /inIsolation Capnp.Net.Runtime.Tests.Core21\bin\Debug\netcoreapp2.1\Capnp.Net.Runtime.Tests.Core21.dll vstest.console /logger:Appveyor /inIsolation Capnp.Net.Runtime.Tests.Core21\bin\Release\netcoreapp2.1\Capnp.Net.Runtime.Tests.Core21.dll on_finish : # any cleanup in here deploy: - provider: Environment name: GitHub Releases description: 'Deployed from CI.' artifact: /.*\.nupkg/ draft: true prerelease: true force_update: true on: APPVEYOR_REPO_TAG: true