trigger: - main - refs/tags/* pr: - main resources: repositories: - repository: internal-templates type: github name: xamarin/yaml-templates endpoint: xamarin ref: refs/heads/main - repository: components type: github name: xamarin/XamarinComponents endpoint: xamarin ref: refs/heads/main variables: DotNet6Version: 6.0.300 DotNet6Source: https://aka.ms/dotnet6/nuget/index.json NuGetOrgSource: https://api.nuget.org/v3/index.json XamarinDotNetWorkloadSource: workloads.json # or url (check for recent versions - redth) # https://aka.ms/dotnet/maui/6.0.400.json # matching builds # NOTE: there wasn't a public release of 16.11 for macOS LegacyXamarinAndroidPkg: https://dl.internalx.com/vsts-devdiv/Xamarin.Android/public/6454390/6.0.4xx/0b8d593a61bb49120fdf817e8dfdbc4b33937772/xamarin.android-12.3.99.117.pkg LegacyXamarinAndroidVsix: https://dl.internalx.com/vsts-devdiv/Xamarin.Android/public/6454390/6.0.4xx/0b8d593a61bb49120fdf817e8dfdbc4b33937772/Xamarin.Android.Sdk-12.3.99.117.vsix jobs: - template: .ci/build.v1.yml@components parameters: timeoutInMinutes: 360 areaPath: 'DevDiv\VS Client - Runtime SDKs\Android' macosImage: 'macOS-12' # the name of the macOS VM image # Monterey 20220728 windowsAgentPoolName: AzurePipelines-EO windowsImage: '' windowsImageOverride: AzurePipelinesWindows2019compliant xcode: 13.3.1 buildType: 'manifest' linuxAgentPoolName: AzurePipelines-EO linuxsImage: '' linuxImageOverride: AzurePipelinesUbuntu20.04compliant validPackagePrefixes: # Preferred prefixes - Xamarin - Mono # Other product prefixes - SkiaSharp - HarfBuzzSharp - mdoc # Historical prefixes - Masonry - GoogleGson - AndroidEasingFunctions - Square - JakeWharton.Picasso2OkHttp3Downloader - RecyclerViewAnimators - GoogleGson dotnet: $(DotNet6Version) preBuildSteps: - task: JavaToolInstaller@0 displayName: install JDK 11 inputs: versionSpec: '11' jdkArchitectureOption: 'x64' jdkSourceOption: 'PreInstalled' - pwsh: | dotnet tool install --global boots displayName: install .NET global tools - pwsh: | boots $(XamarinAndroidPkg) condition: eq(variables['System.JobName'], 'macos') displayName: install Xamarin.Android - pwsh: | boots $(XamarinAndroidVsix) condition: eq(variables['System.JobName'], 'windows') displayName: install Xamarin.Android - pwsh: | dotnet workload update --verbosity diag --from-rollback-file $(XamarinDotNetWorkloadSource) --source $(Dotnet6Source) --source $(NuGetOrgSource) dotnet workload install android --verbosity diag --skip-manifest-update --source $(Dotnet6Source) --source $(NuGetOrgSource) dotnet workload install maui --verbosity diag --skip-manifest-update --source $(Dotnet6Source) --source $(NuGetOrgSource) displayName: install .NET 6 Android Workload condition: ne(variables['System.JobName'], 'linux') tools: - 'xamarin.androidbinderator.tool': '0.5.4' - 'xamarin.androidx.migration.tool': '1.0.10' - ${{ if eq(variables['System.TeamProject'], 'devdiv') }}: - template: sign-artifacts/jobs/v2.yml@internal-templates parameters: dependsOn: [ 'build_linux', 'build_macos', 'windows' ] condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/') # Executive Order (EO): 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 - template: compliance/sbom/job.v1.yml@internal-templates parameters: dependsOn: [ 'signing' ] artifactNames: [ 'nuget-signed' ] packageName: Xamarin.Components # SBOM package name. TODO: Customize for specific component: Replace with the name of the nuget package such as Square.Moshi.Adapters packageVersionRegex: '' # SBOM package version. TODO: Customize for specific component: Regular expression used to glean the version number from the package name such as '(?i)^Square.Moshi.Adapters\.(?\d+\.\d+\.\d+).nupkg$' packageFilter: '*.nupkg' condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/')