2020-09-29 13:15:20 +03:00
|
|
|
trigger:
|
|
|
|
branches:
|
|
|
|
include:
|
|
|
|
- main
|
2021-02-27 06:14:49 +03:00
|
|
|
- main-handler
|
2020-09-29 13:15:20 +03:00
|
|
|
paths:
|
|
|
|
include:
|
|
|
|
- '*'
|
|
|
|
exclude:
|
|
|
|
- .github/*
|
|
|
|
- docs/*
|
|
|
|
- CODE-OF-CONDUCT.md
|
|
|
|
- CONTRIBUTING.md
|
|
|
|
- LICENSE.TXT
|
|
|
|
- PATENTS.TXT
|
|
|
|
- README.md
|
|
|
|
- SECURITY.md
|
|
|
|
- THIRD-PARTY-NOTICES.TXT
|
|
|
|
|
|
|
|
pr:
|
|
|
|
branches:
|
|
|
|
include:
|
|
|
|
- main
|
2021-02-27 06:14:49 +03:00
|
|
|
- main-handler
|
2020-09-29 13:15:20 +03:00
|
|
|
paths:
|
|
|
|
include:
|
|
|
|
- '*'
|
|
|
|
exclude:
|
|
|
|
- .github/*
|
|
|
|
- docs/*
|
|
|
|
- CODE-OF-CONDUCT.md
|
|
|
|
- CONTRIBUTING.md
|
|
|
|
- LICENSE.TXT
|
|
|
|
- PATENTS.TXT
|
|
|
|
- README.md
|
|
|
|
- SECURITY.md
|
|
|
|
- THIRD-PARTY-NOTICES.TXT
|
|
|
|
|
|
|
|
schedules:
|
|
|
|
- cron: "0 0 * * *"
|
|
|
|
displayName: Daily midnight build
|
|
|
|
branches:
|
|
|
|
include:
|
|
|
|
- main
|
|
|
|
|
|
|
|
variables:
|
|
|
|
- template: /eng/pipelines/common/variables.yml
|
2021-03-02 20:36:17 +03:00
|
|
|
- name: DotNetVersion
|
|
|
|
value: 6.0.100-preview.1.21103.13
|
|
|
|
- name: DotNet.Cli.Telemetry.OptOut
|
|
|
|
value: true
|
|
|
|
- name: Android.Msi
|
|
|
|
value: https://dl.internalx.com/vsts-devdiv/Xamarin.Android/public/net6/4498522/master/2f83bddb99f6a0948631cd0f09bf037ba8a4e359/Microsoft.NET.Workload.Android.11.0.200.118.msi
|
|
|
|
- name: iOS.Msi
|
|
|
|
value: https://bosstoragemirror.azureedge.net/wrench/main/f01fde5cd9a7ffffcdc8d241200c35988700fa00/4449408/package/Microsoft.NET.Workload.iOS.14.3.100-ci.main.1079.msi
|
|
|
|
- name: Android.Pkg
|
|
|
|
value: https://dl.internalx.com/vsts-devdiv/Xamarin.Android/public/net6/4498522/master/2f83bddb99f6a0948631cd0f09bf037ba8a4e359/Microsoft.NET.Workload.Android-11.0.200-ci.master.118.pkg
|
|
|
|
- name: iOS.Pkg
|
|
|
|
value: https://bosstoragemirror.azureedge.net/wrench/main/f01fde5cd9a7ffffcdc8d241200c35988700fa00/4449408/package/notarized/Microsoft.iOS.Bundle.14.3.100-ci.main.1079.pkg
|
|
|
|
- name: LogDirectory
|
|
|
|
value: $(Build.ArtifactStagingDirectory)\logs
|
2020-09-29 13:15:20 +03:00
|
|
|
|
|
|
|
resources:
|
|
|
|
repositories:
|
|
|
|
- repository: xamarin-templates
|
|
|
|
type: github
|
|
|
|
name: xamarin/yaml-templates
|
|
|
|
endpoint: xamarin
|
|
|
|
ref: refs/heads/main # still defaults to master even though main is the main branch
|
|
|
|
|
|
|
|
stages:
|
|
|
|
- stage: windows
|
|
|
|
displayName: Build Windows
|
|
|
|
jobs:
|
|
|
|
- job: win_hosted
|
|
|
|
workspace:
|
|
|
|
clean: all
|
|
|
|
displayName: Build Windows Phase
|
|
|
|
timeoutInMinutes: 60
|
|
|
|
pool:
|
|
|
|
name: $(vs2019VmPool)
|
|
|
|
vmImage: $(vs2019VmImage)
|
|
|
|
demands:
|
|
|
|
msbuild
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
debug:
|
|
|
|
BuildConfiguration: 'Debug'
|
|
|
|
release:
|
|
|
|
BuildConfiguration: 'Release'
|
|
|
|
steps:
|
|
|
|
- template: common/build-windows.yml
|
|
|
|
parameters:
|
2021-01-24 19:05:53 +03:00
|
|
|
provisionatorPath : '/build/provisioning/provisioning.csx'
|
|
|
|
|
2021-02-25 02:50:31 +03:00
|
|
|
# - stage: build_osx
|
|
|
|
# displayName: iOS
|
|
|
|
# dependsOn: []
|
|
|
|
# jobs:
|
|
|
|
# - job: ios
|
|
|
|
# workspace:
|
|
|
|
# clean: all
|
|
|
|
# displayName: Build ControlGallery iOS
|
|
|
|
# timeoutInMinutes: 120
|
|
|
|
# pool:
|
|
|
|
# name: $(macOSXVmPool)
|
|
|
|
# vmImage: $(macOSXVmImage)
|
|
|
|
# demands:
|
|
|
|
# - sh
|
|
|
|
# - Xamarin.iOS
|
|
|
|
# variables:
|
|
|
|
# provisionator.xcode : '$(System.DefaultWorkingDirectory)/eng/provisioning/xcode.csx'
|
|
|
|
# provisionator.path : '$(System.DefaultWorkingDirectory)/eng/provisioning/provisioning.csx'
|
|
|
|
# provisionator.extraArguments : '--v'
|
|
|
|
# steps:
|
|
|
|
# - template: common/controlgallery-ios.yml
|
2021-03-02 20:36:17 +03:00
|
|
|
|
2021-02-25 02:50:31 +03:00
|
|
|
# - stage: build_android
|
|
|
|
# displayName: Android
|
|
|
|
# dependsOn: []
|
|
|
|
# jobs:
|
|
|
|
# - job: android
|
|
|
|
# workspace:
|
|
|
|
# clean: all
|
|
|
|
# displayName: Build ControlGallery Android
|
|
|
|
# timeoutInMinutes: 120
|
|
|
|
# pool:
|
|
|
|
# name: $(macOSXVmPool)
|
|
|
|
# vmImage: $(macOSXVmImage)
|
|
|
|
# variables:
|
|
|
|
# renderers: 'FAST'
|
|
|
|
# outputfolder: 'newRenderers'
|
|
|
|
# provisionator.xcode : '$(System.DefaultWorkingDirectory)/eng/provisioning/xcode.csx'
|
|
|
|
# provisionator.path : '$(System.DefaultWorkingDirectory)/eng/provisioning/provisioning.csx'
|
|
|
|
# provisionator.extraArguments : '--v'
|
|
|
|
# steps:
|
|
|
|
# - template: common/controlgallery-android.yml
|
2021-03-02 20:36:17 +03:00
|
|
|
|
|
|
|
- stage: pack_net6_windows
|
|
|
|
displayName: Pack .NET 6 Windows
|
|
|
|
dependsOn: []
|
|
|
|
jobs:
|
|
|
|
- job: net6_pack
|
|
|
|
workspace:
|
|
|
|
clean: all
|
|
|
|
displayName: Pack .NET 6
|
|
|
|
timeoutInMinutes: 120
|
|
|
|
pool:
|
|
|
|
vmImage: windows-latest
|
|
|
|
steps:
|
|
|
|
- pwsh: |
|
|
|
|
$ProgressPreference = 'SilentlyContinue'
|
|
|
|
Invoke-WebRequest -Uri "https://dot.net/v1/dotnet-install.ps1" -OutFile dotnet-install.ps1
|
|
|
|
& .\dotnet-install.ps1 -Version $(DotNetVersion) -InstallDir "$env:ProgramFiles\dotnet\" -Verbose
|
|
|
|
& dotnet --list-sdks
|
|
|
|
displayName: install .NET $(DotNetVersion)
|
|
|
|
errorActionPreference: stop
|
|
|
|
|
|
|
|
- pwsh: |
|
|
|
|
& dotnet tool install --global boots
|
|
|
|
& boots $(Android.Msi)
|
|
|
|
& boots $(iOS.Msi)
|
|
|
|
displayName: install .NET workloads
|
|
|
|
errorActionPreference: stop
|
|
|
|
|
|
|
|
- pwsh: ./.nuspec/package.ps1 -configuration Release
|
|
|
|
displayName: pack nugets
|
|
|
|
errorActionPreference: stop
|
|
|
|
|
|
|
|
- task: PublishPipelineArtifact@1
|
|
|
|
displayName: publish artifacts
|
|
|
|
inputs:
|
|
|
|
artifactName: nuget
|
|
|
|
targetPath: artifacts
|
|
|
|
condition: always()
|
|
|
|
|
2021-02-11 01:24:09 +03:00
|
|
|
- stage: build_net6_windows
|
|
|
|
displayName: NET6 Windows
|
|
|
|
dependsOn: []
|
|
|
|
jobs:
|
|
|
|
- job: net6
|
|
|
|
workspace:
|
|
|
|
clean: all
|
|
|
|
displayName: Build NET 6 Windows
|
|
|
|
timeoutInMinutes: 120
|
|
|
|
pool:
|
|
|
|
vmImage: windows-latest
|
2021-03-03 18:20:03 +03:00
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
debug:
|
|
|
|
BuildConfiguration: 'Debug'
|
|
|
|
release:
|
|
|
|
BuildConfiguration: 'Release'
|
2021-02-11 01:24:09 +03:00
|
|
|
steps:
|
|
|
|
- powershell: |
|
|
|
|
$ProgressPreference = 'SilentlyContinue'
|
|
|
|
Invoke-WebRequest -Uri "https://dot.net/v1/dotnet-install.ps1" -OutFile dotnet-install.ps1
|
|
|
|
& .\dotnet-install.ps1 -Version $(DotNetVersion) -InstallDir "$env:ProgramFiles\dotnet\" -Verbose
|
|
|
|
& dotnet --list-sdks
|
|
|
|
displayName: install .NET $(DotNetVersion)
|
|
|
|
errorActionPreference: stop
|
|
|
|
|
|
|
|
- powershell: |
|
|
|
|
& dotnet tool install --global boots
|
|
|
|
& boots $(Android.Msi)
|
|
|
|
& boots $(iOS.Msi)
|
|
|
|
displayName: install .NET workloads
|
|
|
|
errorActionPreference: stop
|
|
|
|
|
|
|
|
- powershell: |
|
2021-02-25 02:50:31 +03:00
|
|
|
& dotnet restore Microsoft.Maui-net6.sln
|
2021-03-03 18:20:03 +03:00
|
|
|
& dotnet build Microsoft.Maui-net6.sln -c $(BuildConfiguration) -bl:$(LogDirectory)\$(BuildConfiguration).binlog
|
2021-02-11 01:24:09 +03:00
|
|
|
displayName: build samples
|
|
|
|
errorActionPreference: stop
|
|
|
|
|
|
|
|
- task: PublishPipelineArtifact@1
|
|
|
|
displayName: publish artifacts
|
|
|
|
inputs:
|
2021-03-03 18:20:03 +03:00
|
|
|
artifactName: NET6-WINDOWS-$(BuildConfiguration)
|
2021-02-11 01:24:09 +03:00
|
|
|
targetPath: $(Build.ArtifactStagingDirectory)
|
|
|
|
condition: always()
|
2021-03-02 20:36:17 +03:00
|
|
|
|
2021-02-11 01:24:09 +03:00
|
|
|
- stage: build_net6_macOS
|
|
|
|
displayName: NET6 macOS
|
|
|
|
dependsOn: []
|
|
|
|
jobs:
|
|
|
|
- job: net6
|
|
|
|
workspace:
|
|
|
|
clean: all
|
|
|
|
displayName: Build NET 6 macOS
|
|
|
|
timeoutInMinutes: 120
|
|
|
|
pool:
|
|
|
|
vmImage: macOS-latest
|
|
|
|
variables:
|
|
|
|
DotNet.Root: /usr/local/share/dotnet/
|
|
|
|
DotNet.Tools: ~/.dotnet/tools
|
2021-03-03 18:20:03 +03:00
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
debug:
|
|
|
|
BuildConfiguration: 'Debug'
|
|
|
|
release:
|
|
|
|
BuildConfiguration: 'Release'
|
2021-02-11 01:24:09 +03:00
|
|
|
steps:
|
|
|
|
- task: UseDotNet@2
|
|
|
|
displayName: install .NET Core 3.1
|
|
|
|
inputs:
|
|
|
|
version: 3.1.x
|
|
|
|
installationPath: $(DotNet.Root)
|
|
|
|
|
|
|
|
- bash: >
|
|
|
|
export PATH="$(DotNet.Root):$(DotNet.Tools):$PATH" &&
|
|
|
|
curl -L https://dot.net/v1/dotnet-install.sh > dotnet-install.sh &&
|
|
|
|
sh dotnet-install.sh --version $(DotNetVersion) --install-dir $DOTNET_ROOT --verbose &&
|
|
|
|
dotnet --list-sdks &&
|
|
|
|
echo "##vso[task.setvariable variable=PATH]$PATH"
|
|
|
|
displayName: install .NET $(DotNetVersion)
|
|
|
|
|
|
|
|
- bash: |
|
|
|
|
dotnet tool install --global boots
|
|
|
|
boots $(Android.Pkg)
|
|
|
|
boots $(iOS.Pkg)
|
|
|
|
displayName: install .NET workloads
|
|
|
|
|
|
|
|
- bash: |
|
|
|
|
set -x
|
|
|
|
mkdir -p ~/Library/Preferences/Xamarin
|
|
|
|
rm -f ~/Library/Preferences/Xamarin/Settings.plist
|
|
|
|
/usr/libexec/PlistBuddy -c "add :AppleSdkRoot string $(dirname $(dirname $(xcode-select -p)))" ~/Library/Preferences/Xamarin/Settings.plist || true
|
|
|
|
cat ~/Library/Preferences/Xamarin/Settings.plist || true
|
|
|
|
displayName: configure vsmac xcode
|
|
|
|
|
|
|
|
- bash: |
|
2021-02-25 02:50:31 +03:00
|
|
|
dotnet restore Microsoft.Maui-net6.sln &&
|
2021-03-03 18:20:03 +03:00
|
|
|
dotnet build Microsoft.Maui-net6.sln -c $BUILDCONFIGURATION -bl:$BUILD_ARTIFACTSTAGINGDIRECTORY/logs/$BUILDCONFIGURATION.binlog
|
2021-02-11 01:24:09 +03:00
|
|
|
displayName: build samples
|
|
|
|
|
|
|
|
- task: PublishPipelineArtifact@1
|
|
|
|
displayName: publish artifacts
|
|
|
|
inputs:
|
2021-03-03 18:20:03 +03:00
|
|
|
artifactName: NET6-OSX-$(BuildConfiguration)
|
2021-02-11 01:24:09 +03:00
|
|
|
targetPath: $(Build.ArtifactStagingDirectory)
|
|
|
|
condition: always()
|