Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
226 changes: 226 additions & 0 deletions eng/pipelines/azure-pipelines-public.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,226 @@
trigger:
batch: true
branches:
include:
- main
- net10.0
- release/*
- inflight/*
paths:
include:
- '*'
exclude:
- '**.md'
- eng/Version.Details.xml
- .github/*
- docs/*
- LICENSE.TXT
- PATENTS.TXT
- THIRD-PARTY-NOTICES.TXT

pr:
branches:
include:
- main
- net10.0
- release/*
- inflight/*
paths:
include:
- '*'
exclude:
- '**.md'
- eng/Version.Details.xml
- .github/*
- docs/*
- LICENSE.TXT
- PATENTS.TXT
- THIRD-PARTY-NOTICES.TXT

variables:
- template: /eng/common/templates/variables/pool-providers.yml@self
- template: /eng/pipelines/common/variables.yml@self
- template: /eng/pipelines/arcade/variables.yml@self

parameters:
- name: PackPlatform
type: object
default:
name: NetCore-Public
image: 1es-windows-2022
os: windows

- name: BuildConfigurations
type: object
default:
- Debug
- Release

- name: BuildPlatforms
type: object
default:
- name: NetCore-Public
image: 1es-windows-2022
os: Windows
buildScript: $(_buildScript)
sln: '$(Build.SourcesDirectory)/Microsoft.Maui.sln'
- name: Azure Pipelines
vmImage: $(HostedMacImage)
os: macOS
buildScript: $(_buildScriptMacOS)
sln: '$(Build.SourcesDirectory)/Microsoft.Maui-mac.slnf'

stages:

- template: /eng/pipelines/arcade/stage-helix-tests.yml@self
parameters:
runAsPublic: true
prepareSteps:
- template: /eng/pipelines/common/provision.yml@self
parameters:
checkoutDirectory: '$(System.DefaultWorkingDirectory)'
skipJdk: false
skipAndroidCommonSdks: false
skipAndroidPlatformApis: false
onlyAndroidPlatformDefaultApis: true
skipAndroidEmulatorImages: true
skipAndroidCreateAvds: true
skipProvisioning: true
skipXcode: true

- template: /eng/pipelines/arcade/stage-pack.yml@self
parameters:
pool: ${{ parameters.PackPlatform }}
runAsPublic: true
prepareSteps:
- template: /eng/pipelines/common/provision.yml@self
parameters:
checkoutDirectory: '$(System.DefaultWorkingDirectory)'
skipJdk: false
skipAndroidCommonSdks: false
skipAndroidPlatformApis: false
onlyAndroidPlatformDefaultApis: true
skipAndroidEmulatorImages: true
skipAndroidCreateAvds: true
skipProvisioning: true
skipXcode: true

- template: /eng/pipelines/arcade/stage-build.yml@self
parameters:
buildConfigurations: ${{ parameters.BuildConfigurations }}
buildPlatforms: ${{ parameters.BuildPlatforms }}
runAsPublic: ${{ eq(variables['_RunAsPublic'], 'true') }}
prepareSteps:
- template: /eng/pipelines/common/provision.yml@self
parameters:
checkoutDirectory: '$(System.DefaultWorkingDirectory)'
skipJdk: false
skipAndroidCommonSdks: false
skipAndroidPlatformApis: false
onlyAndroidPlatformDefaultApis: true
skipAndroidEmulatorImages: true
skipAndroidCreateAvds: true
skipProvisioning: true
skipXcode: true

- template: /eng/pipelines/arcade/stage-unit-tests.yml@self
parameters:
jobMatrix:
- name: win_unit_tests
displayName: Windows Unit Tests
pool: ${{ parameters.PackPlatform }}
timeout: 90
testOS: Windows
- name: mac_unit_tests
displayName: macOS Unit Tests
pool:
name: Azure Pipelines
vmImage: $(HostedMacImage)
os: macOS
timeout: 90
testOS: macOS
publishTaskPrefix: ''

- template: /eng/pipelines/arcade/stage-integration-tests.yml@self
parameters:
stageDependsOn: Pack
publishTaskPrefix: ''
jobMatrix:
- name: win_sample_tests
pool: ${{ parameters.PackPlatform }}
timeout: 120
testCategory: Samples
- name: mac_sample_tests
pool:
name: Azure Pipelines
vmImage: $(HostedMacImage)
os: macOS
timeout: 120
testCategory: Samples

- name: win_wintemplate_tests
pool: ${{ parameters.PackPlatform }}
timeout: 120
testCategory: WindowsTemplates

# - name: mac_wintemplate_tests
# pool:
# name: Azure Pipelines
# vmImage: $(HostedMacImage)
# os: macOS
# timeout: 120
# testCategory: WindowsTemplates

- name: win_buildtemplate_tests
pool: ${{ parameters.PackPlatform }}
timeout: 120
testCategory: Build
- name: mac_buildtemplate_tests
pool:
name: Azure Pipelines
vmImage: $(HostedMacImage)
os: macOS
timeout: 240
testCategory: Build

- name: win_blazortemplate_tests
pool: ${{ parameters.PackPlatform }}
timeout: 120
testCategory: Blazor
- name: mac_blazortemplate_tests
pool:
name: Azure Pipelines
vmImage: $(HostedMacImage)
os: macOS
timeout: 120
testCategory: Blazor

- name: win_multitemplate_tests
pool: ${{ parameters.PackPlatform }}
timeout: 120
testCategory: MultiProject
- name: mac_multitemplate_tests
pool:
name: Azure Pipelines
vmImage: $(HostedMacImage)
os: macOS
timeout: 120
testCategory: MultiProject

# TODO: macOSTemplates and AOT template categories

- name: mac_runandroid_tests
pool:
name: Azure Pipelines
vmImage: $(HostedMacImage)
os: macOS
timeout: 180
testCategory: RunOnAndroid

- name: mac_runios_tests
pool:
name: Azure Pipelines
vmImage: $(HostedMacImage)
os: macOS
timeout: 180
testCategory: RunOniOS
Loading