Binding.UniversalImageLoader/pipeline.yml

75 строки
2.6 KiB
YAML

pool:
vmImage: 'windows-2022'
trigger:
branches:
include:
- master
- release/beta/*
- release/stable/*
pr:
branches:
include:
- master
- release/beta/*
- release/stable/*
variables:
DotNetVersion: 6.0.300
UnoCheck.Version: '1.3.1'
DotNet.Cli.Telemetry.OptOut: true
UnoCheck.Manifest: https://raw.githubusercontent.com/unoplatform/uno.check/c4e7effc6d2a1fe8c8c282572228733c471faaa4/manifests/uno.ui-preview.manifest.json
BuildConfiguration: 'Release'
steps:
- task: gitversion/setup@0
inputs:
versionSpec: '5.x'
- task: gitversion/execute@0
inputs:
updateAssemblyInfo: 'False'
useConfigFile: true
configFilePath: GitVersion.yml
displayName: Use GitVersion
## Required until .NET 6 installs properly on Windows using UseDotnet
- 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 update --global uno.check --version $(UnoCheck.Version) --add-source https://api.nuget.org/v3/index.json
& uno-check --ci --non-interactive --fix --skip androidsdk --skip androidemulator --skip xcode --skip vswin --skip vsmac --manifest $(UnoCheck.Manifest)
displayName: Install .NET 6 Workloads
errorActionPreference: continue
ignoreLASTEXITCODE: true
- pwsh: |
dotnet msbuild UniversalImageLoader.sln /r /p:Configuration=$(BuildConfiguration) /p:GeneratePackageOnBuild=true /p:PackageOutputPath=$(Build.ArtifactStagingDirectory) /detailedsummary /bl:$(Build.ArtifactStagingDirectory)/msbuild.binlog
displayName: Build
- task: PowerShell@2
displayName: Authenticode Sign Packages
inputs:
filePath: build/Sign-Package.ps1
env:
SignClientUser: $(SignClientUser)
SignClientSecret: $(SignClientSecret)
SignPackageName: "Uno.PackageDiff"
SignPackageDescription: "Uno.PackageDiff"
ArtifactDirectory: $(build.artifactstagingdirectory)
condition: and(succeeded(), not(eq(variables['build.reason'], 'PullRequest')), not(eq(variables['SignClientSecret'], '')), not(eq(variables['SignClientUser'], '')))
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: Binding.UniversalImageLoader'
condition: always()
inputs:
ArtifactName: Binding.UniversalImageLoader