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