calculator/.vsts-ci.Windows.yml

191 строка
6.3 KiB
YAML

jobs:
- job: Windows
pool:
vmImage: 'windows-2019'
variables:
ANDROID_NDK_HOME: C:\Microsoft\AndroidNDK64\android-ndk-r16b
ANDROID_NDK_PATH: C:\Microsoft\AndroidNDK64\android-ndk-r16b
AndroidNdkDirectory: C:\Microsoft\AndroidNDK64\android-ndk-r16b
VersionCodeOffset: 400559 # last value for the APK release
workspace:
clean: all
steps:
- template: build/uno-ci/canary-updater.yml
- template: build/uno-ci/gitversion.yml
- task: UseDotNet@2
displayName: 'Use .Net Core runtime 5.0.102'
retryCountOnTaskFailure: 3
inputs:
packageType: sdk
version: 6.0.200
- task: MSBuild@1
inputs:
solution: src/build/build.csproj
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
msbuildArguments: /r /p:Configuration=Release /detailedsummary
clean: false
maximumCpuCount: true
restoreNugetPackages: false
logProjectEvents: false
createLogFile: false
- task: MSBuild@1
displayName: ARM Android build
inputs:
solution: src/CalcManager.Android/CalcManager.Android.vcxproj
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
msbuildArguments: /r /p:Configuration=Release /p:Platform=ARM /detailedsummary
clean: false
maximumCpuCount: true
restoreNugetPackages: false
logProjectEvents: false
createLogFile: false
- task: MSBuild@1
displayName: ARM64 Android build
inputs:
solution: src/CalcManager.Android/CalcManager.Android.vcxproj
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
msbuildArguments: /r /p:Configuration=Release /p:Platform=ARM64 /detailedsummary
clean: false
maximumCpuCount: true
restoreNugetPackages: false
logProjectEvents: false
createLogFile: false
- task: MSBuild@1
displayName: X86 Android build
inputs:
solution: src/CalcManager.Android/CalcManager.Android.vcxproj
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
msbuildArguments: /r /p:Configuration=Release /p:Platform=x86 /detailedsummary
clean: false
maximumCpuCount: true
restoreNugetPackages: false
logProjectEvents: false
createLogFile: false
- task: MSBuild@1
displayName: x64 Android build
inputs:
solution: src/CalcManager.Android/CalcManager.Android.vcxproj
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
msbuildArguments: /r /p:Configuration=Release /p:Platform=x64 /detailedsummary
clean: false
maximumCpuCount: true
restoreNugetPackages: false
logProjectEvents: false
createLogFile: false
- task: MSBuild@1
displayName: Build Win32 CalcManager
inputs:
solution: src/CalcManager.Win32\CalcManager.Win32.vcxproj
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
msbuildArguments: /p:Configuration=Release /p:Platform=x64
clean: false
maximumCpuCount: true
restoreNugetPackages: false
logProjectEvents: false
createLogFile: false
- task: MSBuild@1
displayName: 'Build Store Packages'
inputs:
solution: src/Calculator.windows-ci-only.slnf
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
msbuildArguments: /r /p:Configuration=Release /detailedsummary /p:SkipWasmBuild=true /p:BuildForPlayStore=true /p:AndroidSigningKeyPass=$(KeystorePassword) /p:AndroidSigningStorePass=$(KeystorePassword) "/p:InformationalVersion=$GITVERSION_INFORMATIONALVERSION"
clean: false
maximumCpuCount: true
restoreNugetPackages: false
logProjectEvents: false
createLogFile: false
- task: MSBuild@1
displayName: 'Build Android AppCenter package'
inputs:
solution: src/Calculator.Droid/Calculator.Droid.csproj
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
msbuildArguments: /r /p:Configuration=Release /detailedsummary /p:BuildForPlayStore=false /p:AndroidSigningKeyPass=$(KeystorePassword) /p:AndroidSigningStorePass=$(KeystorePassword) "/p:InformationalVersion=$GITVERSION_INFORMATIONALVERSION"
clean: false
maximumCpuCount: true
restoreNugetPackages: false
logProjectEvents: false
createLogFile: false
- script: dotnet publish -c Release -r win10-x64 --self-contained true $(build.sourcesdirectory)/src/Calculator.Skia.Gtk/Calculator.Skia.Gtk.csproj
displayName: 'Build Skia win10-x64'
- task: ArchiveFiles@2
displayName: 'Archive Skia win10-x64'
retryCountOnTaskFailure: 3
inputs:
rootFolderOrFile: '$(build.sourcesdirectory)\src\Calculator.Skia.Gtk\bin\Release\net5.0\win10-x64\publish'
archiveFile: '$(Build.ArtifactStagingDirectory)/skia/Calculator-win10-x64.zip'
includeRootFolder: false
- task: CopyFiles@2
displayName: 'Publish Wasm Binaries'
retryCountOnTaskFailure: 3
inputs:
SourceFolder: $(build.sourcesdirectory)/src/Calculator.Wasm/bin/Release/net5.0/dist
Contents: '**/*.*'
TargetFolder: $(build.artifactstagingdirectory)/wasm-interp
CleanTargetFolder: false
OverWrite: false
flattenFolders: false
- task: CopyFiles@2
displayName: 'Publish Android Binaries'
retryCountOnTaskFailure: 3
inputs:
SourceFolder: $(build.sourcesdirectory)/src/Calculator.Droid/bin/Release
Contents: |
**/*.aab
**/*.apk
TargetFolder: $(build.artifactstagingdirectory)/android
CleanTargetFolder: false
OverWrite: false
flattenFolders: false
- task: CopyFiles@2
displayName: 'Publish Windows Binaries'
retryCountOnTaskFailure: 3
inputs:
SourceFolder: $(build.sourcesdirectory)/src/Calculator.UWP/AppPackages
Contents: '**/*.*'
TargetFolder: $(build.artifactstagingdirectory)/windows
CleanTargetFolder: false
OverWrite: false
flattenFolders: false
- task: PublishBuildArtifacts@1
displayName: Publish Package Artifacts
retryCountOnTaskFailure: 3
inputs:
pathToPublish: $(build.artifactstagingdirectory)
artifactType: container
artifactName: Calculator