2019-02-05 06:22:35 +03:00
trigger :
2021-02-05 11:34:05 +03:00
- main
2020-04-28 22:45:19 +03:00
- develop
- patch/*
2019-09-24 02:34:44 +03:00
2020-03-10 00:57:56 +03:00
pr :
2021-02-05 11:34:05 +03:00
- main
2020-04-28 22:45:19 +03:00
- develop
- patch/*
2020-03-10 00:57:56 +03:00
2021-11-13 08:59:12 +03:00
parameters :
- name : buildExternals
displayName : 'The specific native artifacts to use for this build.'
type : number
default : 0
2022-02-08 20:30:09 +03:00
- name : VM_IMAGE_WINDOWS
type : string
2022-02-25 05:07:34 +03:00
default : 'Azure-Pipelines-windows-2022'
2022-02-08 20:30:09 +03:00
- name : VM_IMAGE_WINDOWS_NATIVE
type : string
2022-02-25 05:07:34 +03:00
default : 'Azure-Pipelines-windows-2019'
2022-02-08 20:30:09 +03:00
- name : VM_IMAGE_MAC
type : string
2022-02-25 05:07:34 +03:00
default : 'Azure-Pipelines-macOS-10.15'
2022-02-08 20:30:09 +03:00
- name : VM_IMAGE_LINUX
type : string
2022-02-25 05:07:34 +03:00
default : 'Azure-Pipelines-ubuntu-18.04'
2021-11-13 08:59:12 +03:00
2019-02-05 06:22:35 +03:00
variables :
2021-03-13 07:09:56 +03:00
SKIASHARP_VERSION : 2.88 .0
2019-02-11 21:21:23 +03:00
FEATURE_NAME_PREFIX : 'feature/'
2019-02-05 06:22:35 +03:00
VERBOSITY : normal
GIT_SHA : $(Build.SourceVersion)
2021-08-20 19:20:13 +03:00
GIT_BRANCH_NAME : $(Build.SourceBranch)
GIT_URL : $(Build.Repository.Uri)
2019-02-11 21:21:23 +03:00
FEATURE_NAME : ''
2020-06-05 16:46:06 +03:00
PREVIEW_LABEL : 'preview'
2021-07-27 01:36:47 +03:00
BUILD_NUMBER : $[counter(format('_{0}_{1}_{2}__', variables['SKIASHARP_VERSION'], variables['Build.SourceBranch'], variables['PREVIEW_LABEL']), 1)]
2019-11-27 08:49:33 +03:00
TIZEN_LINUX_PACKAGES : libxcb-xfixes0 libxcb-render-util0 libwebkitgtk-1.0-0 libxcb-image0 acl libsdl1.2debian libv4l-0 libxcb-randr0 libxcb-shape0 libxcb-icccm4 libsm6 gettext rpm2cpio cpio bridge-utils openvpn
2020-07-20 13:21:44 +03:00
MANAGED_LINUX_PACKAGES : ttf-ancient-fonts ninja-build
2021-05-18 03:55:09 +03:00
MONO_VERSION_MACOS : '6_12_7'
2020-09-11 02:07:42 +03:00
MONO_VERSION_LINUX : ''
2021-02-18 16:10:08 +03:00
XCODE_VERSION : 12.4
2021-10-11 12:08:38 +03:00
DOTNET_VERSION_PREVIOUS : 3.1 .413
2022-02-17 02:19:42 +03:00
DOTNET_VERSION : 6.0 .200
DOTNET_VERSION_PREVIEW : ''
2022-02-01 03:25:34 +03:00
DOTNET_WORKLOAD_SOURCE : 'https://aka.ms/dotnet/maui/6.0.200/preview.13.json'
2022-01-27 02:44:17 +03:00
VS_VERSION_PREVIEW : 17 /pre
2019-09-24 02:34:44 +03:00
CONFIGURATION : 'Release'
DOTNET_SKIP_FIRST_TIME_EXPERIENCE : true
2020-04-28 23:20:20 +03:00
THROW_ON_TEST_FAILURE : true
2020-05-20 10:39:06 +03:00
NUGET_DIFF_PRERELEASE : false
2020-06-25 18:30:34 +03:00
ENABLE_CODE_COVERAGE : true
2021-09-04 01:16:26 +03:00
EMSCRIPTEN_VERSION : 2.0 .23
2021-08-19 07:43:33 +03:00
XHARNESS_VERSION : 1.0 .0 -prerelease.21404.1
2019-09-24 02:34:44 +03:00
2019-02-21 00:48:56 +03:00
resources :
repositories :
- repository : xamarin-templates
type : github
name : xamarin/yaml-templates
endpoint : xamarin
2020-12-27 15:47:09 +03:00
ref : refs/heads/main
2019-02-21 00:48:56 +03:00
2019-07-13 06:14:48 +03:00
stages :
2019-11-27 08:49:33 +03:00
- stage : prepare
displayName : Prepare Build
jobs :
- job : prepare # Prepare Build
displayName : Prepare Build
pool :
2022-02-08 20:30:09 +03:00
${{ if startsWith(parameters.VM_IMAGE_LINUX, 'Azure-Pipelines-') }}:
vmImage : ${{ replace(parameters.VM_IMAGE_LINUX, 'Azure-Pipelines-', '') }}
${{ if not(startsWith(parameters.VM_IMAGE_LINUX, 'Azure-Pipelines-')) }}:
name : ${{ parameters.VM_IMAGE_LINUX }}
2019-11-27 08:49:33 +03:00
steps :
- checkout : none
- template : azure-templates-variables.yml
parameters :
updateBuild : true
2020-07-07 03:23:42 +03:00
- stage : native_windows
displayName : Native Windows
2019-11-27 08:49:33 +03:00
dependsOn : prepare
2019-07-13 06:14:48 +03:00
jobs :
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native Android|x86 (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_android_x86_windows
2020-07-07 03:23:42 +03:00
displayName : Android x86
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : externals-android
additionalArgs : --buildarch=x86
2020-07-07 20:15:40 +03:00
installWindowsSdk : false
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native Android|x64 (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_android_x64_windows
2020-07-07 03:23:42 +03:00
displayName : Android x64
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : externals-android
additionalArgs : --buildarch=x64
2020-07-07 20:15:40 +03:00
installWindowsSdk : false
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native Android|arm (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_android_arm_windows
2020-07-07 03:23:42 +03:00
displayName : Android arm
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : externals-android
additionalArgs : --buildarch=arm
2020-07-07 20:15:40 +03:00
installWindowsSdk : false
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native Android|arm64 (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_android_arm64_windows
2020-07-07 03:23:42 +03:00
displayName : Android arm64
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : externals-android
additionalArgs : --buildarch=arm64
2020-07-07 20:15:40 +03:00
installWindowsSdk : false
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native Tizen (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_tizen_windows
2020-07-07 03:23:42 +03:00
displayName : Tizen
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : externals-tizen
2020-07-07 20:15:40 +03:00
installWindowsSdk : false
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build ANGLE UWP|x86 (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_uwp_angle_x86_windows
2020-07-07 03:23:42 +03:00
displayName : ANGLE x86
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : ANGLE
additionalArgs : -Script .\native\uwp\build.cake --buildarch=x86
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build ANGLE UWP|x64 (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_uwp_angle_x64_windows
2020-07-07 03:23:42 +03:00
displayName : ANGLE x64
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : ANGLE
additionalArgs : -Script .\native\uwp\build.cake --buildarch=x64
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build ANGLE UWP|arm (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_uwp_angle_arm_windows
2020-07-07 03:23:42 +03:00
displayName : ANGLE arm
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : ANGLE
additionalArgs : -Script .\native\uwp\build.cake --buildarch=arm
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build ANGLE UWP|arm64 (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_uwp_angle_arm64_windows
2020-07-07 03:23:42 +03:00
displayName : ANGLE arm64
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : ANGLE
additionalArgs : -Script .\native\uwp\build.cake --buildarch=arm64
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native UWP|x86 (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_uwp_x86_windows
2020-07-07 03:23:42 +03:00
displayName : UWP x86
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : externals-uwp
additionalArgs : --buildarch=x86 --skipAngle=true
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native UWP|x64 (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_uwp_x64_windows
2020-07-07 03:23:42 +03:00
displayName : UWP x64
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : externals-uwp
additionalArgs : --buildarch=x64 --skipAngle=true
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native UWP|arm (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_uwp_arm_windows
2020-07-07 03:23:42 +03:00
displayName : UWP arm
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : externals-uwp
additionalArgs : --buildarch=arm --skipAngle=true
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native UWP|arm64 (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_uwp_arm64_windows
2020-07-07 03:23:42 +03:00
displayName : UWP arm64
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : externals-uwp
additionalArgs : --buildarch=arm64 --skipAngle=true
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native Win32|x86 (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_win32_x86_windows
2020-07-07 03:23:42 +03:00
displayName : Win32 x86
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : externals-windows
additionalArgs : --buildarch=x86
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native Win32|x64 (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_win32_x64_windows
2020-07-07 03:23:42 +03:00
displayName : Win32 x64
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : externals-windows
additionalArgs : --buildarch=x64
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native Win32|arm64 (Win)
2020-06-27 03:41:26 +03:00
parameters :
name : native_win32_arm64_windows
2020-07-07 03:23:42 +03:00
displayName : Win32 arm64
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-27 03:41:26 +03:00
target : externals-windows
additionalArgs : --buildarch=arm64
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native NanoServer|x64 (Win)
2020-06-20 22:12:43 +03:00
parameters :
name : native_win32_x64_nanoserver_windows
2020-07-07 03:23:42 +03:00
displayName : Nano Server x64
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS_NATIVE}}
2020-06-20 22:12:43 +03:00
target : externals-nanoserver
additionalArgs : --buildarch=x64
2021-08-09 00:28:10 +03:00
artifactName : native
2020-06-25 18:14:30 +03:00
tools :
- nano-api-scan
2020-07-07 03:23:42 +03:00
- stage : native_macos
displayName : Native macOS
dependsOn : prepare
jobs :
2020-06-20 22:12:43 +03:00
- template : azure-templates-bootstrapper.yml # Build Native Android|x86 (macOS)
parameters :
name : native_android_x86_macos
2020-07-07 03:23:42 +03:00
displayName : Android x86
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2020-06-20 22:12:43 +03:00
target : externals-android
additionalArgs : --buildarch=x86
- template : azure-templates-bootstrapper.yml # Build Native Android|x64 (macOS)
parameters :
name : native_android_x64_macos
2020-07-07 03:23:42 +03:00
displayName : Android x64
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2020-06-20 22:12:43 +03:00
target : externals-android
additionalArgs : --buildarch=x64
- template : azure-templates-bootstrapper.yml # Build Native Android|arm (macOS)
parameters :
name : native_android_arm_macos
2020-07-07 03:23:42 +03:00
displayName : Android arm
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2020-06-20 22:12:43 +03:00
target : externals-android
additionalArgs : --buildarch=arm
- template : azure-templates-bootstrapper.yml # Build Native Android|arm64 (macOS)
parameters :
name : native_android_arm64_macos
2020-07-07 03:23:42 +03:00
displayName : Android arm64
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2020-06-20 22:12:43 +03:00
target : externals-android
additionalArgs : --buildarch=arm64
- template : azure-templates-bootstrapper.yml # Build Native iOS (macOS)
parameters :
name : native_ios_macos
2020-07-07 03:23:42 +03:00
displayName : iOS
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2020-06-20 22:12:43 +03:00
target : externals-ios
2021-08-09 00:28:10 +03:00
artifactName : native
2021-04-13 06:27:09 +03:00
- template : azure-templates-bootstrapper.yml # Build Native Mac Catalyst (macOS)
parameters :
name : native_maccatalyst_macos
displayName : Mac Catalyst
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2021-04-13 06:27:09 +03:00
target : externals-maccatalyst
2021-08-09 00:28:10 +03:00
artifactName : native
2020-06-20 22:12:43 +03:00
- template : azure-templates-bootstrapper.yml # Build Native macOS (macOS)
parameters :
name : native_macos_macos
2020-07-07 03:23:42 +03:00
displayName : macOS
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2020-06-20 22:12:43 +03:00
target : externals-macos
2021-08-09 00:28:10 +03:00
artifactName : native
2020-06-20 22:12:43 +03:00
- template : azure-templates-bootstrapper.yml # Build Native tvOS (macOS)
parameters :
name : native_tvos_macos
2020-07-07 03:23:42 +03:00
displayName : tvOS
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2020-06-20 22:12:43 +03:00
target : externals-tvos
2021-08-09 00:28:10 +03:00
artifactName : native
2020-06-20 22:12:43 +03:00
- template : azure-templates-bootstrapper.yml # Build Native watchOS (macOS)
parameters :
name : native_watchos_macos
2020-07-07 03:23:42 +03:00
displayName : watchOS
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2020-06-20 22:12:43 +03:00
target : externals-watchos
2021-08-09 00:28:10 +03:00
artifactName : native
2020-07-07 03:23:42 +03:00
- template : azure-templates-bootstrapper.yml # Build Native Tizen (macOS)
2020-06-17 20:15:50 +03:00
parameters :
2020-07-07 03:23:42 +03:00
name : native_tizen_macos
displayName : Tizen
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2020-07-07 03:23:42 +03:00
target : externals-tizen
condition: false # TODO : TIZEN INSTALL BUGS
- stage : native_linux
displayName : Native Linux
dependsOn : prepare
jobs :
- template : azure-templates-linux-matrix.yml # Build Native Linux (Linux)
parameters :
2021-08-09 00:28:10 +03:00
artifactName : native
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_LINUX }}
2020-07-07 03:23:42 +03:00
builds :
- name : ''
- name : nodeps
desc : 'No Deps'
additionalArgs : --verifyExcluded=fontconfig
gnArgs : skia_use_fontconfig=false
matrix :
- arch : x64
2021-03-13 07:09:56 +03:00
docker : scripts/Docker/debian9/amd64
2020-07-07 03:23:42 +03:00
- arch : x64
variant : alpine
docker : scripts/Docker/alpine/amd64
- arch : arm
2021-03-13 07:09:56 +03:00
docker : scripts/Docker/debian9/clang-cross
2020-07-07 03:23:42 +03:00
target : externals-linux-clang-cross
- arch : arm64
2021-03-13 07:09:56 +03:00
docker : scripts/Docker/debian9/clang-cross
2020-07-07 03:23:42 +03:00
dockerArgs : --build-arg TOOLCHAIN_ARCH=aarch64-linux-gnu --build-arg TOOLCHAIN_ARCH_SHORT=arm64
target : externals-linux-clang-cross
2019-07-13 06:14:48 +03:00
- template : azure-templates-bootstrapper.yml # Build Native Tizen (Linux)
parameters :
name : native_tizen_linux
2020-07-07 03:23:42 +03:00
displayName : Tizen
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_LINUX }}
2019-07-13 06:14:48 +03:00
packages : $(TIZEN_LINUX_PACKAGES)
target : externals-tizen
2020-07-07 03:23:42 +03:00
- stage : native_wasm
displayName : Native WASM
dependsOn : prepare
jobs :
2021-01-27 07:07:39 +03:00
- template : azure-templates-wasm-matrix.yml # Build Native WASM (Linux)
2020-06-28 09:11:11 +03:00
parameters :
2021-11-13 08:59:12 +03:00
buildExternals : ${{ parameters.buildExternals }}
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_LINUX }}
2021-08-09 00:28:10 +03:00
artifactName : native
2021-01-27 07:07:39 +03:00
emscripten :
- 2.0 .5
- 2.0 .6
- 2.0 .9
- 2.0 .11
- 2.0 .12
2021-07-27 17:20:51 +03:00
- 2.0 .23
2019-02-06 01:00:48 +03:00
2020-06-25 23:28:43 +03:00
- stage : managed
displayName : Build Managed
2020-07-07 03:23:42 +03:00
dependsOn :
- native_windows
- native_macos
- native_linux
- native_wasm
2020-06-25 23:28:43 +03:00
jobs :
- template : azure-templates-bootstrapper.yml # Build Managed (Windows)
parameters :
name : managed_windows
2020-07-07 03:23:42 +03:00
displayName : Managed (Windows)
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS}}
2020-06-25 23:28:43 +03:00
target : libs
2021-03-16 08:32:06 +03:00
additionalArgs : --skipExternals="all"
2022-01-27 02:44:17 +03:00
installPreviewVs : true
2020-06-25 23:28:43 +03:00
requiredArtifacts :
2021-08-09 00:28:10 +03:00
- native
artifactName : managed
2021-09-01 21:37:49 +03:00
postBuildSteps :
2021-10-11 12:08:38 +03:00
- pwsh : Remove-Item ./output/native/ -Recurse -Force -ErrorAction Continue
2021-09-01 21:37:49 +03:00
displayName : Delete the native folder
2020-06-25 23:28:43 +03:00
- template : azure-templates-bootstrapper.yml # Build Managed (macOS)
parameters :
name : managed_macos
2020-07-07 03:23:42 +03:00
displayName : Managed (macOS)
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2020-06-25 23:28:43 +03:00
target : libs
2021-03-16 08:32:06 +03:00
additionalArgs : --skipExternals="all"
2020-06-25 23:28:43 +03:00
requiredArtifacts :
2021-08-09 00:28:10 +03:00
- native
artifactName : managed
2021-09-01 21:37:49 +03:00
postBuildSteps :
2021-10-11 12:08:38 +03:00
- pwsh : Remove-Item ./output/native/ -Recurse -Force -ErrorAction Continue
2021-09-01 21:37:49 +03:00
displayName : Delete the native folder
2020-06-25 23:28:43 +03:00
- template : azure-templates-bootstrapper.yml # Build Managed (Linux)
parameters :
name : managed_linux
2020-07-07 03:23:42 +03:00
displayName : Managed (Linux)
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_LINUX }}
2020-06-25 23:28:43 +03:00
packages : $(MANAGED_LINUX_PACKAGES)
target : libs
2021-03-16 08:32:06 +03:00
additionalArgs : --skipExternals="all"
2020-06-25 23:28:43 +03:00
requiredArtifacts :
2021-08-09 00:28:10 +03:00
- native
artifactName : managed
2021-09-01 21:37:49 +03:00
postBuildSteps :
2021-10-11 12:08:38 +03:00
- pwsh : Remove-Item ./output/native/ -Recurse -Force -ErrorAction Continue
2021-09-01 21:37:49 +03:00
displayName : Delete the native folder
2019-02-05 06:22:35 +03:00
2020-06-25 23:28:43 +03:00
- stage : package
displayName : Package NuGets
dependsOn : managed
jobs :
- template : azure-templates-bootstrapper.yml # Package NuGets
parameters :
name : package_windows
displayName : Package NuGets
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS}}
2020-06-25 23:28:43 +03:00
target : nuget
2021-03-16 08:32:06 +03:00
additionalArgs : --packall=true --skipbuild=true
2020-07-07 20:15:40 +03:00
installWindowsSdk : false
2021-06-16 09:23:56 +03:00
installDotNet : false
2020-06-25 23:28:43 +03:00
requiredArtifacts :
2021-08-09 00:28:10 +03:00
- managed
2021-09-01 21:37:49 +03:00
- native
2020-06-25 23:28:43 +03:00
postBuildSteps :
- task : PublishBuildArtifacts@1
displayName : Publish the nuget artifacts
inputs :
artifactName : nuget
pathToPublish : 'output/nugets'
2020-12-27 15:47:09 +03:00
- task : PublishBuildArtifacts@1
displayName : Publish the special nuget artifacts
inputs :
artifactName : nuget_special
2021-09-17 22:18:48 +03:00
pathToPublish : 'output/nugets-special'
- task : PublishBuildArtifacts@1
displayName : Publish the special nuget artifacts
inputs :
artifactName : nuget_symbols
pathToPublish : 'output/nugets-symbols'
2020-12-27 15:47:09 +03:00
- task : PublishBuildArtifacts@1
displayName : Publish the SignList.xml into nuget artifacts
inputs :
artifactName : nuget
pathToPublish : 'SignList.xml'
2021-09-01 21:37:49 +03:00
- pwsh : |
2021-09-17 22:18:48 +03:00
Remove-Item ./output/native/ -Recurse -Force
2021-09-01 21:37:49 +03:00
Remove-Item ./output/nugets/ -Recurse -Force
2021-09-17 22:18:48 +03:00
Remove-Item ./output/nugets-special/ -Recurse -Force
Remove-Item ./output/nugets-symbols/ -Recurse -Force
displayName : Delete the pre-published folders
2019-02-05 06:22:35 +03:00
2020-06-25 23:28:43 +03:00
- stage : api_diff
displayName : API Diff
dependsOn : package
jobs :
- template : azure-templates-bootstrapper.yml # API Diff
parameters :
name : api_diff_windows
displayName : API Diff
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS}}
2020-06-25 23:28:43 +03:00
target : docs-api-diff
additionalArgs : --nugetDiffPrerelease=$(NUGET_DIFF_PRERELEASE)
shouldPublish : false
requiredArtifacts :
- package_windows
2021-09-01 21:37:49 +03:00
requiredArtifactsMap :
- src : nuget
dst : nugets
2020-06-25 23:28:43 +03:00
preBuildSteps :
2021-09-04 01:16:26 +03:00
- pwsh : .\scripts\install-gtk.ps1
2020-06-25 23:28:43 +03:00
displayName : Install GTK# 2.12
postBuildSteps :
- task : PublishBuildArtifacts@1
displayName : Publish the API diffs
condition : always()
inputs :
artifactName : api-diff
pathToPublish : '$(Build.SourcesDirectory)\output\api-diff'
2020-02-27 16:12:00 +03:00
2020-06-25 23:28:43 +03:00
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
- stage : signing
displayName : Sign NuGets
dependsOn : package
jobs :
2020-12-27 15:47:09 +03:00
- template : sign-artifacts/jobs/v2.yml@xamarin-templates
2021-08-19 19:58:02 +03:00
parameters :
${{ if or(eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'], 'refs/heads/patch/')) }}:
signType : 'Real'
${{ if not(or(eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'], 'refs/heads/patch/'))) }}:
signType : 'Test'
2019-02-05 06:22:35 +03:00
2022-02-21 21:29:05 +03:00
- stage : sbom
displayName : 'Software Bill of Materials'
dependsOn : signing
jobs :
- template: compliance/sbom/job.v1.yml@xamarin-templates # Software Bill of Materials (SBOM) : https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/secure-supply-chain/ado-sbom-generator
parameters :
artifactNames : [ 'nuget' ]
packageName : 'SkiaSharp'
packageFilter : '*.nupkg'
2019-07-13 06:14:48 +03:00
- stage : tests
2020-07-07 03:23:42 +03:00
displayName : Tests
dependsOn :
- native_windows
- native_macos
- native_linux
- native_wasm
2019-07-13 06:14:48 +03:00
jobs :
2021-02-18 16:10:08 +03:00
- template : azure-templates-bootstrapper.yml # Tests|netfx (Windows)
2020-06-20 22:12:43 +03:00
parameters :
2021-02-18 16:10:08 +03:00
name : tests_netfx_windows
displayName : Windows (.NET Framework)
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS}}
2021-02-18 16:10:08 +03:00
target : tests-netfx
2020-06-25 18:30:34 +03:00
additionalArgs : --skipExternals="all" --throwOnTestFailure=$(THROW_ON_TEST_FAILURE) --coverage=$(ENABLE_CODE_COVERAGE)
2022-01-27 02:44:17 +03:00
installPreviewVs : true
2020-07-07 20:15:40 +03:00
installWindowsSdk : false
2020-06-20 22:12:43 +03:00
shouldPublish : false
requiredArtifacts :
- native_win32_x86_windows
- native_win32_x64_windows
postBuildSteps :
- task : PublishTestResults@2
displayName : Publish the .NET Framework test results
condition : always()
inputs :
testResultsFormat : xUnit
testResultsFiles : 'tests/SkiaSharp*.Desktop.Tests/**/TestResults.xml'
testRunTitle : 'Windows .NET Framework Tests'
2021-02-18 16:10:08 +03:00
- template : azure-templates-bootstrapper.yml # Tests|netcore (Windows)
parameters :
name : tests_netcore_windows
displayName : Windows (.NET Core)
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS}}
2021-02-18 16:10:08 +03:00
target : tests-netcore
additionalArgs : --skipExternals="all" --throwOnTestFailure=$(THROW_ON_TEST_FAILURE) --coverage=$(ENABLE_CODE_COVERAGE)
installWindowsSdk : false
shouldPublish : false
requiredArtifacts :
- native_win32_x86_windows
- native_win32_x64_windows
tools :
- dotnet-reportgenerator-globaltool
postBuildSteps :
2020-06-20 22:12:43 +03:00
- task : PublishTestResults@2
displayName : Publish the .NET Core test results
condition : always()
inputs :
testResultsFormat : xUnit
testResultsFiles : 'tests/SkiaSharp*.NetCore.Tests/**/TestResults.xml'
testRunTitle : 'Windows .NET Core Tests'
2020-06-25 19:37:28 +03:00
- task : PublishBuildArtifacts@1
2020-06-25 18:14:30 +03:00
displayName : 'Publish the code coverage results'
inputs :
2021-02-18 16:10:08 +03:00
artifactName : coverage_netcore_windows
2020-06-25 19:37:28 +03:00
pathToPublish : 'output/coverage'
2021-02-18 16:10:08 +03:00
- template : azure-templates-bootstrapper.yml # Tests|netfx (macOS)
2020-06-20 22:12:43 +03:00
parameters :
2021-02-18 16:10:08 +03:00
name : tests_netfx_macos
displayName : macOS (.NET Framework)
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2021-02-18 16:10:08 +03:00
target : tests-netfx
2020-06-25 18:30:34 +03:00
additionalArgs : --skipExternals="all" --throwOnTestFailure=$(THROW_ON_TEST_FAILURE) --coverage=$(ENABLE_CODE_COVERAGE)
2020-06-20 22:12:43 +03:00
shouldPublish : false
requiredArtifacts :
- native_macos_macos
postBuildSteps :
- task : PublishTestResults@2
displayName : Publish the Mono test results
condition : always()
inputs :
testResultsFormat : xUnit
testResultsFiles : 'tests/SkiaSharp*.Desktop.Tests/**/TestResults.xml'
testRunTitle : 'macOS Mono Tests'
2021-02-18 16:10:08 +03:00
- template : azure-templates-bootstrapper.yml # Tests|netcore (macOS)
parameters :
name : tests_netcore_macos
displayName : macOS (.NET Core)
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2021-02-18 16:10:08 +03:00
target : tests-netcore
additionalArgs : --skipExternals="all" --throwOnTestFailure=$(THROW_ON_TEST_FAILURE) --coverage=$(ENABLE_CODE_COVERAGE)
shouldPublish : false
requiredArtifacts :
- native_macos_macos
tools :
- dotnet-reportgenerator-globaltool
postBuildSteps :
2020-06-20 22:12:43 +03:00
- task : PublishTestResults@2
displayName : Publish the .NET Core test results
condition : always()
inputs :
testResultsFormat : xUnit
testResultsFiles : 'tests/SkiaSharp*.NetCore.Tests/**/TestResults.xml'
testRunTitle : 'macOS .NET Core Tests'
2020-06-25 19:37:28 +03:00
- task : PublishBuildArtifacts@1
2020-06-25 18:14:30 +03:00
displayName : 'Publish the code coverage results'
inputs :
2021-02-18 16:10:08 +03:00
artifactName : coverage_netcore_macos
2020-06-25 19:37:28 +03:00
pathToPublish : 'output/coverage'
2021-02-18 16:10:08 +03:00
- template : azure-templates-bootstrapper.yml # Tests|android (macOS)
parameters :
name : tests_android_macos
displayName : Android (macOS)
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2021-02-18 16:10:08 +03:00
target : tests-android
additionalArgs : --device=android-emulator-32_30 --skipExternals="all" --throwOnTestFailure=$(THROW_ON_TEST_FAILURE) --coverage=$(ENABLE_CODE_COVERAGE)
shouldPublish : false
requiredArtifacts :
- native_android_x86_macos
- native_android_x64_macos
- native_android_arm_macos
- native_android_arm64_macos
preBuildSteps :
- pwsh : |
dotnet tool install Microsoft.DotNet.XHarness.CLI `
--global `
--add-source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json `
2021-04-11 06:36:46 +03:00
--version "$env:XHARNESS_VERSION"
2021-02-18 16:10:08 +03:00
displayName : Install the xharness .NET Core tool
2021-09-01 21:37:49 +03:00
- bash : sh -c "echo \"y\" | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager \"emulator\" \"system-images;android-30;google_apis_playstore;x86\""
2021-02-18 16:10:08 +03:00
displayName : Install the Android emulator
postBuildSteps :
- task : PublishTestResults@2
displayName : Publish the Android test results
condition : always()
inputs :
testResultsFormat : xUnit
2021-09-01 21:37:49 +03:00
testResultsFiles : 'output/logs/testlogs/SkiaSharp.Android.Tests/**/TestResults.xml'
2021-02-18 16:10:08 +03:00
testRunTitle : 'Android Tests'
- task : PublishBuildArtifacts@1
displayName : Publish the test logs
condition : always()
inputs :
artifactName : testlogs_android
2021-09-01 21:37:49 +03:00
pathToPublish : 'output/logs/testlogs'
2021-02-21 19:11:28 +03:00
- template : azure-templates-bootstrapper.yml # Tests|ios (macOS)
parameters :
name : tests_ios_macos
displayName : iOS (macOS)
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2021-02-21 19:11:28 +03:00
target : tests-ios
additionalArgs : --device=ios-simulator-64 --skipExternals="all" --throwOnTestFailure=$(THROW_ON_TEST_FAILURE) --coverage=$(ENABLE_CODE_COVERAGE)
shouldPublish : false
requiredArtifacts :
- native_ios_macos
preBuildSteps :
- template : azure-templates-provisioning-profiles.yml
- pwsh : |
dotnet tool install Microsoft.DotNet.XHarness.CLI `
--global `
--add-source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json `
2021-04-11 06:36:46 +03:00
--version "$env:XHARNESS_VERSION"
2021-02-21 19:11:28 +03:00
displayName : Install the xharness .NET Core tool
postBuildSteps :
- task : PublishTestResults@2
displayName : Publish the iOS test results
condition : always()
inputs :
testResultsFormat : xUnit
2021-09-01 21:37:49 +03:00
testResultsFiles : 'output/logs/testlogs/SkiaSharp.iOS.Tests/**/TestResults.xml'
2021-02-21 19:11:28 +03:00
testRunTitle : 'iOS Tests'
- task : PublishBuildArtifacts@1
displayName : Publish the test logs
condition : always()
inputs :
artifactName : testlogs_ios
2021-09-01 21:37:49 +03:00
pathToPublish : 'output/logs/testlogs'
2021-02-18 16:10:08 +03:00
- template : azure-templates-bootstrapper.yml # Tests|netfx (Linux)
2019-07-13 06:14:48 +03:00
parameters :
2021-02-18 16:10:08 +03:00
name : tests_netfx_linux
displayName : Linux (.NET Framework)
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_LINUX }}
2019-07-13 06:14:48 +03:00
packages : $(MANAGED_LINUX_PACKAGES)
2021-02-18 16:10:08 +03:00
target : tests-netfx
2020-06-25 18:30:34 +03:00
additionalArgs : --skipExternals="all" --throwOnTestFailure=$(THROW_ON_TEST_FAILURE) --coverage=$(ENABLE_CODE_COVERAGE)
2019-07-13 06:14:48 +03:00
shouldPublish : false
requiredArtifacts :
2020-07-07 03:23:42 +03:00
- native_linux_x64_linux
2019-07-13 06:14:48 +03:00
postBuildSteps :
- task : PublishTestResults@2
2019-09-24 02:34:44 +03:00
displayName : Publish the Mono test results
condition : always()
inputs :
testResultsFormat : xUnit
2020-05-14 04:01:38 +03:00
testResultsFiles : 'tests/SkiaSharp*.Desktop.Tests/**/TestResults.xml'
2019-09-24 02:34:44 +03:00
testRunTitle : 'Linux Mono Tests'
2021-02-18 16:10:08 +03:00
- template : azure-templates-bootstrapper.yml # Tests|netcore (Linux)
parameters :
name : tests_netcore_linux
displayName : Linux (.NET Core)
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_LINUX }}
2021-02-18 16:10:08 +03:00
packages : $(MANAGED_LINUX_PACKAGES)
target : tests-netcore
additionalArgs : --skipExternals="all" --throwOnTestFailure=$(THROW_ON_TEST_FAILURE) --coverage=$(ENABLE_CODE_COVERAGE)
shouldPublish : false
requiredArtifacts :
- native_linux_x64_linux
tools :
- dotnet-reportgenerator-globaltool
postBuildSteps :
2019-09-24 02:34:44 +03:00
- task : PublishTestResults@2
displayName : Publish the .NET Core test results
2019-07-13 06:14:48 +03:00
condition : always()
inputs :
testResultsFormat : xUnit
2020-05-14 04:01:38 +03:00
testResultsFiles : 'tests/SkiaSharp*.NetCore.Tests/**/TestResults.xml'
2019-09-24 02:34:44 +03:00
testRunTitle : 'Linux .NET Core Tests'
2020-06-25 19:37:28 +03:00
- task : PublishBuildArtifacts@1
2020-06-25 18:14:30 +03:00
displayName : 'Publish the code coverage results'
inputs :
2021-02-18 16:10:08 +03:00
artifactName : coverage_netcore_linux
2020-06-25 19:37:28 +03:00
pathToPublish : 'output/coverage'
2020-06-29 20:28:12 +03:00
- template : azure-templates-bootstrapper.yml # Tests [WASM] (Linux)
parameters :
name : tests_wasm_linux
2020-07-07 03:23:42 +03:00
displayName : WASM (Linux)
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_LINUX }}
2020-06-29 20:28:12 +03:00
packages : $(MANAGED_LINUX_PACKAGES) ninja-build
target : tests-wasm
2021-03-13 07:01:15 +03:00
additionalArgs : --skipExternals="all" --throwOnTestFailure=$(THROW_ON_TEST_FAILURE) --coverage=false --chromedriver=$(CHROMEWEBDRIVER)
2020-06-29 20:28:12 +03:00
shouldPublish : false
requiredArtifacts :
- native_wasm_linux
2020-07-20 13:21:44 +03:00
installEmsdk : true
initScript : source ~/emsdk/emsdk_env.sh
2020-06-29 20:28:12 +03:00
postBuildSteps :
- task : PublishTestResults@2
displayName : Publish the WASM test results
condition : always()
inputs :
testResultsFormat : xUnit
testResultsFiles : 'tests/SkiaSharp*.Wasm.Tests/**/TestResults.xml'
testRunTitle : 'Linux WASM Tests'
2020-06-17 20:15:50 +03:00
# TODO: add tests for linux alpine
2019-12-04 04:12:12 +03:00
# TODO: add tests for linux no dependencies
# TODO: add tests for windows nano server
2020-06-25 19:37:28 +03:00
- job : coverage_reports # Coverage Reports
displayName : Coverage Reports
pool :
2022-02-08 20:30:09 +03:00
${{ if startsWith(parameters.VM_IMAGE_LINUX, 'Azure-Pipelines-') }}:
vmImage : ${{ replace(parameters.VM_IMAGE_LINUX, 'Azure-Pipelines-', '') }}
${{ if not(startsWith(parameters.VM_IMAGE_LINUX, 'Azure-Pipelines-')) }}:
name : ${{ parameters.VM_IMAGE_LINUX }}
2020-06-25 19:37:28 +03:00
dependsOn :
2021-02-18 16:10:08 +03:00
- tests_netcore_windows
- tests_netcore_macos
- tests_netcore_linux
2020-06-25 19:37:28 +03:00
steps :
2020-06-25 21:13:13 +03:00
- checkout : self
2020-06-25 19:37:28 +03:00
- template : azure-templates-variables.yml
- task : DownloadBuildArtifacts@0
2021-02-18 16:10:08 +03:00
displayName : Download the coverage_netcore_windows artifact
2020-06-25 19:37:28 +03:00
inputs :
2021-02-18 16:10:08 +03:00
artifactName : coverage_netcore_windows
2020-06-25 19:37:28 +03:00
downloadPath : output
- task : DownloadBuildArtifacts@0
2021-02-18 16:10:08 +03:00
displayName : Download the coverage_netcore_macos artifact
2020-06-25 19:37:28 +03:00
inputs :
2021-02-18 16:10:08 +03:00
artifactName : coverage_netcore_macos
2020-06-25 19:37:28 +03:00
downloadPath : output
- task : DownloadBuildArtifacts@0
2021-02-18 16:10:08 +03:00
displayName : Download the coverage_netcore_linux artifact
2020-06-25 19:37:28 +03:00
inputs :
2021-02-18 16:10:08 +03:00
artifactName : coverage_netcore_linux
2020-06-25 19:37:28 +03:00
downloadPath : output
- task : PublishCodeCoverageResults@1
displayName : 'Publish the code coverage results'
inputs :
codeCoverageTool : Cobertura
summaryFileLocation : 'output/**/Cobertura.xml'
2019-02-05 06:22:35 +03:00
2020-06-25 23:28:43 +03:00
- stage : samples
2020-07-07 03:23:42 +03:00
displayName : Samples
2020-06-25 23:28:43 +03:00
dependsOn : package
jobs :
- template : azure-templates-bootstrapper.yml # Build Samples (Windows)
parameters :
name : samples_windows
2020-07-07 03:23:42 +03:00
displayName : Windows
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS}}
2020-06-25 23:28:43 +03:00
target : samples
2022-01-27 02:44:17 +03:00
installPreviewVs : true
2021-09-01 21:37:49 +03:00
requiredArtifactsMap :
- src : nuget
dst : nugets
2021-10-12 16:31:50 +03:00
postBuildSteps :
- pwsh : Remove-Item ./output/nugets/ -Recurse -Force -ErrorAction Continue
displayName : Delete the nugets folder
2020-06-25 23:28:43 +03:00
- template : azure-templates-bootstrapper.yml # Build Samples (macOS)
parameters :
name : samples_macos
2020-07-07 03:23:42 +03:00
displayName : macOS
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_MAC }}
2020-06-25 23:28:43 +03:00
target : samples
2021-10-12 16:31:50 +03:00
shouldPublish : false
2021-09-01 21:37:49 +03:00
requiredArtifactsMap :
- src : nuget
dst : nugets
2020-06-25 23:28:43 +03:00
preBuildSteps :
2021-02-21 19:11:28 +03:00
- template : azure-templates-provisioning-profiles.yml
2020-06-25 23:28:43 +03:00
- template : azure-templates-bootstrapper.yml # Build Samples (Linux)
parameters :
name : samples_linux
2020-07-07 03:23:42 +03:00
displayName : Linux
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_LINUX }}
2020-06-25 23:28:43 +03:00
packages : $(MANAGED_LINUX_PACKAGES)
target : samples
2021-10-12 16:31:50 +03:00
shouldPublish : false
2021-09-01 21:37:49 +03:00
requiredArtifactsMap :
- src : nuget
dst : nugets
2020-07-20 13:21:44 +03:00
installEmsdk : true
initScript : source ~/emsdk/emsdk_env.sh
2019-11-27 19:47:17 +03:00
2020-06-25 23:28:43 +03:00
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
- stage : checks
displayName : Run Code Checks
dependsOn : prepare
jobs :
- template : azure-templates-bootstrapper.yml # Run Code Checks
parameters :
name : native_checks_windows
displayName : Run Code Checks
2021-08-19 19:58:02 +03:00
condition : or(eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'], 'refs/heads/patch/'))
2022-02-08 20:30:09 +03:00
vmImage : ${{ parameters.VM_IMAGE_WINDOWS}}
2020-06-25 23:28:43 +03:00
target : git-sync-deps
2020-07-07 20:15:40 +03:00
installWindowsSdk : false
2021-06-16 09:23:56 +03:00
installDotNet : false
2020-06-25 23:28:43 +03:00
shouldPublish : false
postBuildSteps :
- task : CredScan@2
displayName : Analyze source for credentials
condition : always()
inputs :
toolMajorVersion : 'V2'
- task : PoliCheck@1
displayName : Run PoliCheck
condition : always()
inputs :
inputType : 'Basic'
targetType : 'F'
- task : SdtReport@1
displayName : Create security analysis report
condition : always()
inputs :
AllTools : false
APIScan : false
BinSkim : false
CodesignValidation : false
CredScan : true
FortifySCA : false
FxCop : false
ModernCop : false
MSRD : false
PoliCheck : true
RoslynAnalyzers : false
SDLNativeRules : false
Semmle : false
TSLint : false
ToolLogsNotFoundAction : 'Standard'
- task : PublishSecurityAnalysisLogs@3
displayName : Publish security analysis logs
condition : always()
- task : TSAUpload@1
displayName : Publish TSA logs
condition : always()
2020-07-27 19:46:04 +03:00
continueOnError : true
2020-06-25 23:28:43 +03:00
inputs :
tsaVersion : 'TsaV2'
codebase : 'NewOrUpdate'
tsaEnvironment : 'PROD'
2021-02-05 11:34:05 +03:00
codeBaseName : 'SkiaSharp_main'
2020-06-25 23:28:43 +03:00
notificationAlias : 'xamacomd@microsoft.com'
notifyAlwaysV2 : false
instanceUrlForTsaV2 : 'DEVDIV'
projectNameDEVDIV : 'DevDiv'
2021-09-09 00:36:16 +03:00
areaPath : 'DevDiv\VS Client - Runtime SDKs\SkiaSharp'
2020-06-25 23:28:43 +03:00
iterationPath : 'DevDiv\OneVS'
uploadAPIScan : false
uploadBinSkim : false
uploadCredScan : true
uploadFortifySCA : false
uploadFxCop : false
uploadModernCop : false
uploadPoliCheck : true
uploadPREfast : false
uploadRoslyn : false
uploadTSLint : false
uploadAsync : true