зеркало из https://github.com/DeGsoft/maui-linux.git
169 строки
4.3 KiB
YAML
169 строки
4.3 KiB
YAML
variables:
|
|
- name: DefaultBuildConfiguration
|
|
value: Debug
|
|
- name: DefaultBuildPlatform
|
|
value: 'any cpu'
|
|
- name: ApkName
|
|
value: AndroidControlGallery.AndroidControlGallery.apk
|
|
- name: IpaName
|
|
value: XamarinFormsControlGalleryiOS.ipa
|
|
- name: SolutionFile
|
|
value: Xamarin.Forms.sln
|
|
- name: major
|
|
value: 99
|
|
- name: minor
|
|
value: 0
|
|
- name: patch
|
|
value: 0
|
|
- name: buildversion
|
|
value: $[counter('$(Build.SourceBranchName)_counter', 1)]
|
|
|
|
resources:
|
|
repositories:
|
|
- repository: xamarin-templates
|
|
type: github
|
|
name: xamarin/yaml-templates
|
|
endpoint: xamarin
|
|
|
|
trigger:
|
|
branches:
|
|
include:
|
|
- master
|
|
- 3.*
|
|
- 4.*
|
|
paths:
|
|
exclude:
|
|
- README.md
|
|
|
|
pr:
|
|
- master
|
|
- 3.*
|
|
- 4.*
|
|
|
|
jobs:
|
|
- job: Phase_1
|
|
displayName: Prepare Build Phase
|
|
condition: succeeded()
|
|
pool:
|
|
name: $(winVmImage)
|
|
steps:
|
|
- template: build/steps/build-prepare.yml
|
|
|
|
- job: Phase_2
|
|
displayName: Build Windows Phase
|
|
dependsOn: Phase_1
|
|
condition: succeeded()
|
|
pool:
|
|
name: $(winVmImage)
|
|
strategy:
|
|
matrix:
|
|
debug:
|
|
BuildConfiguration: $(DefaultBuildConfiguration)
|
|
BuildPlatform: $(DefaultBuildPlatform)
|
|
release:
|
|
BuildConfiguration: 'Release'
|
|
BuildPlatform: $(DefaultBuildPlatform)
|
|
steps:
|
|
- template: build/steps/build-windows.yml
|
|
|
|
- job: Phase_3
|
|
displayName: Test Windows Phase
|
|
dependsOn: Phase_2
|
|
condition: succeeded()
|
|
pool:
|
|
name: $(winVmImage)
|
|
demands: vstest
|
|
strategy:
|
|
matrix:
|
|
debug:
|
|
BuildConfiguration: $(DefaultBuildConfiguration)
|
|
release:
|
|
BuildConfiguration: 'Release'
|
|
steps:
|
|
- template: build/steps/build-windows-test.yml
|
|
|
|
- template: build/steps/build-android.yml
|
|
parameters:
|
|
name: android_legacy
|
|
displayName: Build Android [Legacy Renderers]
|
|
vmImage: $(macOSVmImage)
|
|
targetFolder: Xamarin.Forms.ControlGallery.Android/legacyRenderers/
|
|
androidProjectArguments: '/t:"Rebuild;SignAndroidPackage"'
|
|
dependsOn: Phase_1
|
|
buildConfiguration: $(DefaultBuildConfiguration)
|
|
|
|
- template: build/steps/build-android.yml
|
|
parameters:
|
|
name: android_preappcompact
|
|
displayName: Build Android [Pre-AppCompat]
|
|
vmImage: $(macOSVmImage)
|
|
targetFolder: Xamarin.Forms.ControlGallery.Android/preAppCompat
|
|
androidProjectArguments: '/t:"Rebuild;SignAndroidPackage" /p:DefineConstants="TRACE DEBUG FORMS_APPLICATION_ACTIVITY APP"'
|
|
dependsOn: Phase_1
|
|
buildConfiguration: $(DefaultBuildConfiguration)
|
|
|
|
- template: build/steps/build-android.yml
|
|
parameters:
|
|
name: android_fast
|
|
displayName: Build Android [Fast Renderers]
|
|
vmImage: $(macOSVmImage)
|
|
targetFolder: Xamarin.Forms.ControlGallery.Android/newRenderers/
|
|
androidProjectArguments: '/t:"Rebuild;SignAndroidPackage" /p:DefineConstants="TRACE DEBUG TEST_EXPERIMENTAL_RENDERERS APP"'
|
|
dependsOn: Phase_1
|
|
buildConfiguration: $(DefaultBuildConfiguration)
|
|
|
|
- job: Phase_4
|
|
displayName: OSX Phase
|
|
dependsOn: Phase_1
|
|
condition: succeeded()
|
|
pool:
|
|
name: $(macOSVmImage)
|
|
demands:
|
|
- Agent.OS -equals darwin
|
|
- sh
|
|
- msbuild
|
|
- Xamarin.iOS
|
|
variables:
|
|
provisioningOSX : $(provisioning)
|
|
provisionator.osxPath : 'build/provisioning/provisioning.csx'
|
|
provisionator.signPath : 'build/provisioning/provisioning_sign.csx'
|
|
buildConfiguration: $(DefaultBuildConfiguration)
|
|
slnPath: $(SolutionFile)
|
|
nugetVersion: 4.8.1
|
|
iOSCertSecureFileName: 'Xamarin Forms iOS Certificate.p12'
|
|
iOSProvisioningSecureFileName: 'Xamarin Forms iOS Provisioning.mobileprovision'
|
|
steps:
|
|
- template: build/steps/build-osx.yml
|
|
|
|
- job: Phase_5
|
|
displayName: Nuget Phase
|
|
dependsOn:
|
|
- Phase_3
|
|
- android_legacy
|
|
- android_preappcompact
|
|
- android_fast
|
|
condition: succeeded()
|
|
pool:
|
|
name: $(winVmImage)
|
|
variables:
|
|
FormsIdAppend: ''
|
|
buildConfiguration: $(DefaultBuildConfiguration)
|
|
steps:
|
|
- template: build/steps/build-nuget.yml
|
|
|
|
# only sign the packages when running on Windows, and using the private server which has the certificates
|
|
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
|
|
- job: Phase_6
|
|
displayName: Sign Phase
|
|
dependsOn: Phase_5
|
|
pool:
|
|
name: $(signVmImage)
|
|
variables:
|
|
signBuild: $[dependencies.Phase_1.outputs['prepare.signnuget']]
|
|
displayName: Sign Phase
|
|
steps:
|
|
- template: build/steps/build-sign.yml
|
|
|
|
|
|
|