зеркало из https://github.com/AvaloniaUI/Avalonia.git
187 строки
4.7 KiB
YAML
187 строки
4.7 KiB
YAML
jobs:
|
|
|
|
- job: GetPRNumber
|
|
pool:
|
|
vmImage: 'windows-2022'
|
|
variables:
|
|
SolutionDir: '$(Build.SourcesDirectory)'
|
|
steps:
|
|
- task: PowerShell@2
|
|
displayName: Get PR Number
|
|
inputs:
|
|
targetType: 'inline'
|
|
script: |
|
|
$prId = $env:System_PullRequest_PullRequestNumber
|
|
Write-Host "PR Number is:-" $env:System_PullRequest_PullRequestNumber
|
|
|
|
if (!([string]::IsNullOrWhiteSpace($prId)))
|
|
{
|
|
Set-Content -Path $env:Build_ArtifactStagingDirectory\prId.txt -Value $prId
|
|
}
|
|
|
|
- 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 Core SDK 6.0.415'
|
|
inputs:
|
|
version: 6.0.415
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET Core SDK 7.0.402'
|
|
inputs:
|
|
version: 7.0.402
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Install Workloads'
|
|
inputs:
|
|
script: |
|
|
dotnet workload install wasm-tools wasm-experimental
|
|
|
|
- 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 Core SDK 6.0.404'
|
|
inputs:
|
|
version: 6.0.404
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET Core SDK 7.0.101'
|
|
inputs:
|
|
version: 7.0.101
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Install Workloads'
|
|
inputs:
|
|
script: |
|
|
dotnet workload install wasm-tools wasm-experimental
|
|
|
|
- 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 Core SDK 6.0.404'
|
|
inputs:
|
|
version: 6.0.404
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET Core SDK 7.0.101'
|
|
inputs:
|
|
version: 7.0.101
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Install Workloads'
|
|
inputs:
|
|
script: |
|
|
dotnet workload install android ios wasm-tools wasm-experimental
|
|
|
|
- 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()
|
|
|