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: 4 - 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: Hosted VS2017 steps: - template: build/steps/build-prepare.yml - job: Phase_2 displayName: Build Windows Phase dependsOn: Phase_1 condition: succeeded() pool: name: Hosted VS2017 demands: msbuild 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: Hosted VS2017 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: Hosted Mac Internal 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: Hosted Mac Internal 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: Hosted Mac Internal 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: Hosted Mac Internal 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 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: Hosted VS2017 demands: DotNetFramework variables: FormsIdAppend: '' buildConfiguration: $(DefaultBuildConfiguration) steps: - template: build/steps/build-nuget.yml - job: Phase_6 displayName: Sign Phase dependsOn: Phase_5 pool: name: VSEng-Xamarin-Forms variables: signBuild: $[dependencies.Phase_1.outputs['prepare.signnuget']] displayName: Sign Phase steps: - template: build/steps/build-sign.yml