diff --git a/appveyor-release.yml b/appveyor-release.yml new file mode 100644 index 0000000..aedb887 --- /dev/null +++ b/appveyor-release.yml @@ -0,0 +1,61 @@ +## NOTE: this is a temporary copy of the release script, which works around the versioning issue +## TODO(oleg-nenashev): A real fix / release flow rework for https://github.com/kohsuke/winsw/issues/378 is needed + +# Do not build tags and feature branches +skip_tags: true +skip_branch_with_pr: true + +# Project configuration +image: Visual Studio 2019 +# platform: Any CPU +configuration: Release + +# Automatically register private account and/or project AppVeyor NuGet feeds. +nuget: + disable_publish_on_pr: true # disable publishing of .nupkg artifacts + +before_build: + # Check SDKs + - ECHO "Installed SDKs:" + - ps: 'ls "C:\Program Files (x86)\Microsoft SDKs\Windows\"' + # Generates a temporary SNK. Not for real signing + - cmd: '"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\sn.exe" -k winsw_key.snk' + +dotnet_csproj: + patch: true + file: '**\*.csproj' + version: $(appveyor_build_version) + +build_script: + - dotnet.exe build src\winsw.sln + - dotnet.exe publish -f netcoreapp3.1 src\Core\ServiceWrapper\winsw.csproj + - dotnet.exe publish -f netcoreapp3.1 -r win-x64 src\Core\ServiceWrapper\winsw.csproj /p:PublishSingleFile=true /p:PublishTrimmed=true + - dotnet.exe publish -f netcoreapp3.1 -r win-x86 src\Core\ServiceWrapper\winsw.csproj /p:PublishSingleFile=true /p:PublishTrimmed=true + +after_build: + - ps: nuget pack WinSW.nuspec -Version $env:APPVEYOR_BUILD_VERSION + +test_script: + - dotnet.exe test -f net40 --no-build src\Test\winswTests\winswTests.csproj + - dotnet.exe test -f net461 --no-build src\Test\winswTests\winswTests.csproj + - dotnet.exe test -f netcoreapp3.1 --no-build src\Test\winswTests\winswTests.csproj + +artifacts: + - path: 'src\Core\ServiceWrapper\bin\Release\net20\WinSW.exe' + name: WinSW.NET2.exe + - path: 'src\Core\ServiceWrapper\bin\Release\net40\WinSW.exe' + name: WinSW.NET4.exe + - path: 'src\Core\ServiceWrapper\bin\Release\net461\WinSW.exe' + name: WinSW.NET461.exe + - path: 'src\Core\ServiceWrapper\bin\Release\netcoreapp3.1\publish\' + name: WinSW.NETCore31 + - path: 'src\Core\ServiceWrapper\bin\Release\netcoreapp3.1\win-x64\publish\WindowsService.exe' + name: WinSW.NETCore31.x64 + - path: 'src\Core\ServiceWrapper\bin\Release\netcoreapp3.1\win-x86\publish\WindowsService.exe' + name: WinSW.NETCore31.x86 + - path: 'WinSW.$(appveyor_build_version).nupkg' + name: WinSW.nupkg + - path: 'examples\sample-allOptions.xml' + name: 'sample-allOptions.xml' + - path: 'examples\sample-minimal.xml' + name: 'sample-minimal.xml'