jellyfin/.ci/azure-pipelines-abi.yml

94 lines
2.9 KiB
YAML
Raw Normal View History

parameters:
2020-04-12 10:20:37 -07:00
- name: Packages
type: object
default: {}
- name: LinuxImage
type: string
default: "ubuntu-latest"
- name: DotNetSdkVersion
type: string
2021-02-09 19:02:02 -07:00
default: 5.0.103
jobs:
- job: CompatibilityCheck
displayName: Compatibility Check
2020-08-03 09:02:02 -07:00
dependsOn: Build
condition: and(succeeded(), variables['System.PullRequest.PullRequestNumber'])
pool:
2020-01-18 08:19:19 -07:00
vmImage: "${{ parameters.LinuxImage }}"
2020-08-03 09:02:02 -07:00
strategy:
matrix:
${{ each Package in parameters.Packages }}:
${{ Package.key }}:
NugetPackageName: ${{ Package.value.NugetPackageName }}
2020-01-15 03:27:38 -07:00
AssemblyFileName: ${{ Package.value.AssemblyFileName }}
maxParallel: 2
2020-08-03 09:02:02 -07:00
steps:
- checkout: none
- task: UseDotNet@2
displayName: "Update DotNet"
inputs:
packageType: sdk
version: ${{ parameters.DotNetSdkVersion }}
- task: DotNetCoreCLI@2
2020-08-03 09:02:02 -07:00
displayName: 'Install ABI CompatibilityChecker Tool'
inputs:
command: custom
custom: tool
arguments: 'update compatibilitychecker -g'
- task: DownloadPipelineArtifact@2
2020-08-03 09:02:02 -07:00
displayName: 'Download New Assembly Build Artifact'
inputs:
2020-08-03 09:02:02 -07:00
source: 'current'
2020-01-15 03:27:38 -07:00
artifact: "$(NugetPackageName)"
path: "$(System.ArtifactsDirectory)/new-artifacts"
2020-01-15 03:27:38 -07:00
runVersion: "latest"
- task: CopyFiles@2
2020-08-03 09:02:02 -07:00
displayName: 'Copy New Assembly Build Artifact'
inputs:
2020-01-15 03:27:38 -07:00
sourceFolder: $(System.ArtifactsDirectory)/new-artifacts
2020-08-03 09:02:02 -07:00
contents: '**/*.dll'
targetFolder: $(System.ArtifactsDirectory)/new-release
2020-01-15 03:27:38 -07:00
cleanTargetFolder: true
overWrite: true
flattenFolders: true
- task: DownloadPipelineArtifact@2
2020-08-03 09:02:02 -07:00
displayName: 'Download Reference Assembly Build Artifact'
enabled: false
inputs:
2020-01-15 03:27:38 -07:00
source: "specific"
artifact: "$(NugetPackageName)"
path: "$(System.ArtifactsDirectory)/current-artifacts"
2020-01-15 03:27:38 -07:00
project: "$(System.TeamProjectId)"
pipeline: "$(System.DefinitionId)"
runVersion: "latestFromBranch"
runBranch: "refs/heads/$(System.PullRequest.TargetBranch)"
- task: CopyFiles@2
2020-08-03 09:02:02 -07:00
displayName: 'Copy Reference Assembly Build Artifact'
enabled: false
inputs:
2020-01-15 03:27:38 -07:00
sourceFolder: $(System.ArtifactsDirectory)/current-artifacts
2020-08-03 09:02:02 -07:00
contents: '**/*.dll'
targetFolder: $(System.ArtifactsDirectory)/current-release
2020-01-15 03:27:38 -07:00
cleanTargetFolder: true
overWrite: true
flattenFolders: true
- task: DotNetCoreCLI@2
displayName: 'Execute ABI Compatibility Check Tool'
enabled: false
inputs:
command: custom
custom: compat
arguments: 'current-release/$(AssemblyFileName) new-release/$(AssemblyFileName) --azure-pipelines --warnings-only'
2020-01-15 03:27:38 -07:00
workingDirectory: $(System.ArtifactsDirectory)