зеркало из https://github.com/AvaloniaUI/Avalonia.git
210 строки
5.5 KiB
YAML
210 строки
5.5 KiB
YAML
jobs:
|
|
|
|
- job: GetPRNumber
|
|
pool:
|
|
vmImage: 'ubuntu-20.04'
|
|
variables:
|
|
SolutionDir: '$(Build.SourcesDirectory)'
|
|
steps:
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 8.0 SDK'
|
|
inputs:
|
|
packageType: sdk
|
|
useGlobalJson: true
|
|
- task: CmdLine@2
|
|
displayName: 'Run Build'
|
|
inputs:
|
|
script: ./build.sh --target OutputVersion --version-output-dir $(Build.ArtifactStagingDirectory)
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
ArtifactName: 'PRNumber'
|
|
publishLocation: 'Container'
|
|
|
|
- job: Linux
|
|
pool:
|
|
vmImage: 'ubuntu-20.04'
|
|
steps:
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 6.0 Runtime'
|
|
inputs:
|
|
packageType: runtime
|
|
version: 6.0.x
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 8.0 SDK'
|
|
inputs:
|
|
packageType: sdk
|
|
useGlobalJson: true
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Install Workloads'
|
|
inputs:
|
|
script: |
|
|
dotnet workload install android macos wasm-tools
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Install Tizen Workload'
|
|
inputs:
|
|
targetType: 'inline'
|
|
script: |
|
|
curl -sSL https://raw.githubusercontent.com/Samsung/Tizen.NET/main/workload/scripts/workload-install.sh | sudo bash -s -- -d "/opt/hostedtoolcache/dotnet"
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Run Build'
|
|
inputs:
|
|
script: |
|
|
dotnet --info
|
|
printenv
|
|
./build.sh --target CiAzureLinux --configuration=Release
|
|
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testResultsFormat: 'VSTest'
|
|
testResultsFiles: '$(Build.SourcesDirectory)/artifacts/test-results/*.trx'
|
|
condition: not(canceled())
|
|
|
|
|
|
- job: macOS
|
|
variables:
|
|
SolutionDir: '$(Build.SourcesDirectory)'
|
|
pool:
|
|
vmImage: 'macos-12'
|
|
steps:
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 6.0 Runtime'
|
|
inputs:
|
|
packageType: runtime
|
|
version: 6.0.x
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 8.0 SDK'
|
|
inputs:
|
|
packageType: sdk
|
|
useGlobalJson: true
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Install Workloads'
|
|
inputs:
|
|
script: |
|
|
dotnet workload install android ios macos wasm-tools
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Install Tizen Workload'
|
|
inputs:
|
|
targetType: 'inline'
|
|
script: |
|
|
curl -sSL https://raw.githubusercontent.com/Samsung/Tizen.NET/main/workload/scripts/workload-install.sh | sudo bash
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Generate avalonia-native'
|
|
inputs:
|
|
script: |
|
|
export COREHOST_TRACE=0
|
|
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
|
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
|
./build.sh --target GenerateCppHeaders --configuration Release
|
|
|
|
- task: Xcode@5
|
|
inputs:
|
|
actions: 'build'
|
|
scheme: ''
|
|
sdk: 'macosx12.3'
|
|
configuration: 'Release'
|
|
xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace'
|
|
xcodeVersion: '13' # Options: 8, 9, default, specifyPath
|
|
args: '-derivedDataPath ./'
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Run Build'
|
|
inputs:
|
|
script: |
|
|
export COREHOST_TRACE=0
|
|
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
|
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
|
which dotnet
|
|
dotnet --info
|
|
printenv
|
|
./build.sh --target CiAzureOSX --configuration Release --skip-previewer
|
|
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testResultsFormat: 'VSTest'
|
|
testResultsFiles: '$(Build.SourcesDirectory)/artifacts/test-results/*.trx'
|
|
condition: not(canceled())
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
pathToPublish: '$(Build.SourcesDirectory)/Build/Products/Release/'
|
|
artifactName: 'Avalonia.Native.OSX'
|
|
condition: succeeded()
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
pathtoPublish: '$(Build.SourcesDirectory)/artifacts/nuget'
|
|
artifactName: 'NuGetOSX'
|
|
condition: succeeded()
|
|
|
|
- job: Windows
|
|
pool:
|
|
vmImage: 'windows-2022'
|
|
variables:
|
|
SolutionDir: '$(Build.SourcesDirectory)'
|
|
steps:
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 6.0 Runtime'
|
|
inputs:
|
|
packageType: runtime
|
|
version: 6.0.x
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 8.0 SDK'
|
|
inputs:
|
|
packageType: sdk
|
|
useGlobalJson: true
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Install Workloads'
|
|
inputs:
|
|
script: |
|
|
dotnet workload install android ios tvos wasm-tools
|
|
|
|
- task: PowerShell@2
|
|
displayName: 'Install Tizen Workload'
|
|
inputs:
|
|
targetType: 'inline'
|
|
script: |
|
|
(New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/Samsung/Tizen.NET/main/workload/scripts/workload-install.ps1') | Invoke-Expression
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Install Nuke'
|
|
inputs:
|
|
script: |
|
|
dotnet tool install --global Nuke.GlobalTool --version 6.2.1
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Run Nuke'
|
|
inputs:
|
|
script: |
|
|
set PATH=%PATH%;%USERPROFILE%\.dotnet\tools
|
|
nuke --target CiAzureWindows --configuration Release
|
|
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testResultsFormat: 'VSTest'
|
|
testResultsFiles: '$(Build.SourcesDirectory)/artifacts/test-results/*.trx'
|
|
condition: not(canceled())
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
pathtoPublish: '$(Build.SourcesDirectory)/artifacts/nuget'
|
|
artifactName: 'NuGet'
|
|
condition: succeeded()
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
pathToPublish: '$(Build.SourcesDirectory)/artifacts/zip'
|
|
artifactName: 'Samples'
|
|
condition: succeeded()
|
|
|