csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
189 lines
4.8 KiB
189 lines
4.8 KiB
jobs:
|
|
|
|
- job: GetPRNumber
|
|
pool:
|
|
vmImage: 'ubuntu-24.04'
|
|
variables:
|
|
SolutionDir: '$(Build.SourcesDirectory)'
|
|
steps:
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 10.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-24.04'
|
|
steps:
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 8.0 Runtime'
|
|
inputs:
|
|
packageType: runtime
|
|
version: 8.0.x
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 10.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: '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-15'
|
|
steps:
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 8.0 Runtime'
|
|
inputs:
|
|
packageType: runtime
|
|
version: 8.0.x
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 10.0 SDK'
|
|
inputs:
|
|
packageType: sdk
|
|
useGlobalJson: true
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Install Workloads'
|
|
inputs:
|
|
script: |
|
|
dotnet workload install android ios maccatalyst macos wasm-tools
|
|
|
|
- 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: 'macosx26.0'
|
|
configuration: 'Release'
|
|
xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace'
|
|
xcodeVersion: 'specifyPath' # Options: 8, 9, default, specifyPath
|
|
xcodeDeveloperDir: '/Applications/Xcode_26.0.app/Contents/Developer'
|
|
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-2025'
|
|
variables:
|
|
SolutionDir: '$(Build.SourcesDirectory)'
|
|
steps:
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 8.0 Runtime'
|
|
inputs:
|
|
packageType: runtime
|
|
version: 8.0.x
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 10.0 SDK'
|
|
inputs:
|
|
packageType: sdk
|
|
useGlobalJson: true
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Install Workloads'
|
|
inputs:
|
|
script: |
|
|
dotnet workload install android maccatalyst ios tvos wasm-tools
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Install Nuke'
|
|
inputs:
|
|
script: |
|
|
dotnet tool install --global Nuke.GlobalTool --version 9.0.4
|
|
|
|
- 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()
|
|
|
|
|