Merge pull request #2230 from dkanada/update-ci
Fix dependency issue for CI
This commit is contained in:
commit
a21645d6be
|
@ -19,9 +19,9 @@ jobs:
|
||||||
vmImage: ubuntu-latest
|
vmImage: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
release:
|
Release:
|
||||||
BuildConfiguration: Release
|
BuildConfiguration: Release
|
||||||
debug:
|
Debug:
|
||||||
BuildConfiguration: Debug
|
BuildConfiguration: Debug
|
||||||
maxParallel: 2
|
maxParallel: 2
|
||||||
steps:
|
steps:
|
||||||
|
@ -31,32 +31,32 @@ jobs:
|
||||||
persistCredentials: true
|
persistCredentials: true
|
||||||
|
|
||||||
- task: CmdLine@2
|
- task: CmdLine@2
|
||||||
displayName: "Check out web"
|
displayName: "Clone Web Client (Master, Release, or Tag)"
|
||||||
condition: and(succeeded(), or(contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
condition: and(succeeded(), or(contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
||||||
inputs:
|
inputs:
|
||||||
script: 'git clone --single-branch --branch $(Build.SourceBranchName) --depth=1 https://github.com/jellyfin/jellyfin-web.git $(Agent.TempDirectory)/jellyfin-web'
|
script: 'git clone --single-branch --branch $(Build.SourceBranchName) --depth=1 https://github.com/jellyfin/jellyfin-web.git $(Agent.TempDirectory)/jellyfin-web'
|
||||||
|
|
||||||
- task: CmdLine@2
|
- task: CmdLine@2
|
||||||
displayName: "Check out web (PR)"
|
displayName: "Clone Web Client (PR)"
|
||||||
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest'))
|
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest'))
|
||||||
inputs:
|
inputs:
|
||||||
script: 'git clone --single-branch --branch $(System.PullRequest.TargetBranch) --depth 1 https://github.com/jellyfin/jellyfin-web.git $(Agent.TempDirectory)/jellyfin-web'
|
script: 'git clone --single-branch --branch $(System.PullRequest.TargetBranch) --depth 1 https://github.com/jellyfin/jellyfin-web.git $(Agent.TempDirectory)/jellyfin-web'
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
displayName: 'Install Node.js'
|
displayName: 'Install Node'
|
||||||
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master'), contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master'), contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: '10.x'
|
versionSpec: '10.x'
|
||||||
|
|
||||||
- task: CmdLine@2
|
- task: CmdLine@2
|
||||||
displayName: "Build Web UI"
|
displayName: "Build Web Client"
|
||||||
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master'), contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master'), contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
||||||
inputs:
|
inputs:
|
||||||
script: yarn install
|
script: yarn install
|
||||||
workingDirectory: $(Agent.TempDirectory)/jellyfin-web
|
workingDirectory: $(Agent.TempDirectory)/jellyfin-web
|
||||||
|
|
||||||
- task: CopyFiles@2
|
- task: CopyFiles@2
|
||||||
displayName: Copy the web UI
|
displayName: 'Copy Web Client'
|
||||||
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master'), contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master'), contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
||||||
inputs:
|
inputs:
|
||||||
sourceFolder: $(Agent.TempDirectory)/jellyfin-web/dist # Optional
|
sourceFolder: $(Agent.TempDirectory)/jellyfin-web/dist # Optional
|
||||||
|
@ -66,8 +66,14 @@ jobs:
|
||||||
overWrite: true # Optional
|
overWrite: true # Optional
|
||||||
flattenFolders: false # Optional
|
flattenFolders: false # Optional
|
||||||
|
|
||||||
|
- task: UseDotNet@2
|
||||||
|
displayName: 'Update DotNet'
|
||||||
|
inputs:
|
||||||
|
packageType: sdk
|
||||||
|
version: 3.1.100
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
- task: DotNetCoreCLI@2
|
||||||
displayName: Publish
|
displayName: 'Publish Server'
|
||||||
inputs:
|
inputs:
|
||||||
command: publish
|
command: publish
|
||||||
publishWebProjects: false
|
publishWebProjects: false
|
||||||
|
@ -135,62 +141,20 @@ jobs:
|
||||||
!**\obj\**
|
!**\obj\**
|
||||||
!**\xunit.runner.visualstudio.testadapter.dll
|
!**\xunit.runner.visualstudio.testadapter.dll
|
||||||
!**\xunit.runner.visualstudio.dotnetcore.testadapter.dll
|
!**\xunit.runner.visualstudio.dotnetcore.testadapter.dll
|
||||||
#testPlan: # Required when testSelector == TestPlan
|
|
||||||
#testSuite: # Required when testSelector == TestPlan
|
|
||||||
#testConfiguration: # Required when testSelector == TestPlan
|
|
||||||
#tcmTestRun: '$(test.RunId)' # Optional
|
|
||||||
searchFolder: '$(System.DefaultWorkingDirectory)'
|
searchFolder: '$(System.DefaultWorkingDirectory)'
|
||||||
#testFiltercriteria: # Optional
|
|
||||||
#runOnlyImpactedTests: False # Optional
|
|
||||||
#runAllTestsAfterXBuilds: '50' # Optional
|
|
||||||
#uiTests: false # Optional
|
|
||||||
#vstestLocationMethod: 'version' # Optional. Options: version, location
|
|
||||||
#vsTestVersion: 'latest' # Optional. Options: latest, 16.0, 15.0, 14.0, toolsInstaller
|
|
||||||
#vstestLocation: # Optional
|
|
||||||
#runSettingsFile: # Optional
|
|
||||||
#overrideTestrunParameters: # Optional
|
|
||||||
#pathtoCustomTestAdapters: # Optional
|
|
||||||
runInParallel: True # Optional
|
runInParallel: True # Optional
|
||||||
runTestsInIsolation: True # Optional
|
runTestsInIsolation: True # Optional
|
||||||
codeCoverageEnabled: True # Optional
|
codeCoverageEnabled: True # Optional
|
||||||
#otherConsoleOptions: # Optional
|
|
||||||
#distributionBatchType: 'basedOnTestCases' # Optional. Options: basedOnTestCases, basedOnExecutionTime, basedOnAssembly
|
|
||||||
#batchingBasedOnAgentsOption: 'autoBatchSize' # Optional. Options: autoBatchSize, customBatchSize
|
|
||||||
#customBatchSizeValue: '10' # Required when distributionBatchType == BasedOnTestCases && BatchingBasedOnAgentsOption == CustomBatchSize
|
|
||||||
#batchingBasedOnExecutionTimeOption: 'autoBatchSize' # Optional. Options: autoBatchSize, customTimeBatchSize
|
|
||||||
#customRunTimePerBatchValue: '60' # Required when distributionBatchType == BasedOnExecutionTime && BatchingBasedOnExecutionTimeOption == CustomTimeBatchSize
|
|
||||||
#dontDistribute: False # Optional
|
|
||||||
#testRunTitle: # Optional
|
|
||||||
#platform: # Optional
|
|
||||||
configuration: 'Debug' # Optional
|
configuration: 'Debug' # Optional
|
||||||
publishRunAttachments: true # Optional
|
publishRunAttachments: true # Optional
|
||||||
#diagnosticsEnabled: false # Optional
|
|
||||||
#collectDumpOn: 'onAbortOnly' # Optional. Options: onAbortOnly, always, never
|
|
||||||
#rerunFailedTests: False # Optional
|
|
||||||
#rerunType: 'basedOnTestFailurePercentage' # Optional. Options: basedOnTestFailurePercentage, basedOnTestFailureCount
|
|
||||||
#rerunFailedThreshold: '30' # Optional
|
|
||||||
#rerunFailedTestCasesMaxLimit: '5' # Optional
|
|
||||||
#rerunMaxAttempts: '3' # Optional
|
|
||||||
|
|
||||||
# - task: PublishTestResults@2
|
|
||||||
# inputs:
|
|
||||||
# testResultsFormat: 'VSTest' # Options: JUnit, NUnit, VSTest, xUnit, cTest
|
|
||||||
# testResultsFiles: '**/*.trx'
|
|
||||||
# #searchFolder: '$(System.DefaultWorkingDirectory)' # Optional
|
|
||||||
# mergeTestResults: true # Optional
|
|
||||||
# #failTaskOnFailedTests: false # Optional
|
|
||||||
# #testRunTitle: # Optional
|
|
||||||
# #buildPlatform: # Optional
|
|
||||||
# #buildConfiguration: # Optional
|
|
||||||
# #publishRunAttachments: true # Optional
|
|
||||||
|
|
||||||
- job: main_build_win
|
- job: main_build_win
|
||||||
displayName: Main Build Windows
|
displayName: Publish Windows
|
||||||
pool:
|
pool:
|
||||||
vmImage: windows-latest
|
vmImage: windows-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
release:
|
Release:
|
||||||
BuildConfiguration: Release
|
BuildConfiguration: Release
|
||||||
maxParallel: 2
|
maxParallel: 2
|
||||||
steps:
|
steps:
|
||||||
|
@ -200,32 +164,32 @@ jobs:
|
||||||
persistCredentials: true
|
persistCredentials: true
|
||||||
|
|
||||||
- task: CmdLine@2
|
- task: CmdLine@2
|
||||||
displayName: "Check out web (master, release or tag)"
|
displayName: "Clone Web Client (Master, Release, or Tag)"
|
||||||
condition: and(succeeded(), or(contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master'), contains(variables['Build.SourceBranch'], 'tag')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
condition: and(succeeded(), or(contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master'), contains(variables['Build.SourceBranch'], 'tag')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
||||||
inputs:
|
inputs:
|
||||||
script: 'git clone --single-branch --branch $(Build.SourceBranchName) --depth=1 https://github.com/jellyfin/jellyfin-web.git $(Agent.TempDirectory)/jellyfin-web'
|
script: 'git clone --single-branch --branch $(Build.SourceBranchName) --depth=1 https://github.com/jellyfin/jellyfin-web.git $(Agent.TempDirectory)/jellyfin-web'
|
||||||
|
|
||||||
- task: CmdLine@2
|
- task: CmdLine@2
|
||||||
displayName: "Check out web (PR)"
|
displayName: "Clone Web Client (PR)"
|
||||||
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest'))
|
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest'))
|
||||||
inputs:
|
inputs:
|
||||||
script: 'git clone --single-branch --branch $(System.PullRequest.TargetBranch) --depth 1 https://github.com/jellyfin/jellyfin-web.git $(Agent.TempDirectory)/jellyfin-web'
|
script: 'git clone --single-branch --branch $(System.PullRequest.TargetBranch) --depth 1 https://github.com/jellyfin/jellyfin-web.git $(Agent.TempDirectory)/jellyfin-web'
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
displayName: 'Install Node.js'
|
displayName: 'Install Node'
|
||||||
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master'), contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master'), contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: '10.x'
|
versionSpec: '10.x'
|
||||||
|
|
||||||
- task: CmdLine@2
|
- task: CmdLine@2
|
||||||
displayName: "Build Web UI"
|
displayName: "Build Web Client"
|
||||||
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master'), contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master'), contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
||||||
inputs:
|
inputs:
|
||||||
script: yarn install
|
script: yarn install
|
||||||
workingDirectory: $(Agent.TempDirectory)/jellyfin-web
|
workingDirectory: $(Agent.TempDirectory)/jellyfin-web
|
||||||
|
|
||||||
- task: CopyFiles@2
|
- task: CopyFiles@2
|
||||||
displayName: Copy the web UI
|
displayName: 'Copy Web Client'
|
||||||
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master'), contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
condition: and(succeeded(), or(contains(variables['System.PullRequest.TargetBranch'], 'release'), contains(variables['System.PullRequest.TargetBranch'], 'master'), contains(variables['Build.SourceBranch'], 'release'), contains(variables['Build.SourceBranch'], 'master')) ,eq(variables['BuildConfiguration'], 'Release'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI', 'BuildCompletion'))
|
||||||
inputs:
|
inputs:
|
||||||
sourceFolder: $(Agent.TempDirectory)/jellyfin-web/dist # Optional
|
sourceFolder: $(Agent.TempDirectory)/jellyfin-web/dist # Optional
|
||||||
|
@ -236,25 +200,21 @@ jobs:
|
||||||
flattenFolders: false # Optional
|
flattenFolders: false # Optional
|
||||||
|
|
||||||
- task: CmdLine@2
|
- task: CmdLine@2
|
||||||
displayName: Clone the UX repository
|
displayName: 'Clone UX Repository'
|
||||||
inputs:
|
inputs:
|
||||||
script: git clone --depth=1 https://github.com/jellyfin/jellyfin-ux $(Agent.TempDirectory)\jellyfin-ux
|
script: git clone --depth=1 https://github.com/jellyfin/jellyfin-ux $(Agent.TempDirectory)\jellyfin-ux
|
||||||
|
|
||||||
- task: PowerShell@2
|
- task: PowerShell@2
|
||||||
displayName: Build the NSIS Installer
|
displayName: 'Build NSIS Installer'
|
||||||
inputs:
|
inputs:
|
||||||
targetType: 'filePath' # Optional. Options: filePath, inline
|
targetType: 'filePath' # Optional. Options: filePath, inline
|
||||||
filePath: ./deployment/windows/build-jellyfin.ps1 # Required when targetType == FilePath
|
filePath: ./deployment/windows/build-jellyfin.ps1 # Required when targetType == FilePath
|
||||||
arguments: -InstallFFMPEG -InstallNSSM -MakeNSIS -InstallTrayApp -UXLocation $(Agent.TempDirectory)\jellyfin-ux -InstallLocation $(build.artifactstagingdirectory)
|
arguments: -InstallFFMPEG -InstallNSSM -MakeNSIS -InstallTrayApp -UXLocation $(Agent.TempDirectory)\jellyfin-ux -InstallLocation $(build.artifactstagingdirectory)
|
||||||
#script: '# Write your PowerShell commands here.Write-Host Hello World' # Required when targetType == Inline
|
|
||||||
errorActionPreference: 'stop' # Optional. Options: stop, continue, silentlyContinue
|
errorActionPreference: 'stop' # Optional. Options: stop, continue, silentlyContinue
|
||||||
#failOnStderr: false # Optional
|
|
||||||
#ignoreLASTEXITCODE: false # Optional
|
|
||||||
#pwsh: false # Optional
|
|
||||||
workingDirectory: $(Build.SourcesDirectory) # Optional
|
workingDirectory: $(Build.SourcesDirectory) # Optional
|
||||||
|
|
||||||
- task: CopyFiles@2
|
- task: CopyFiles@2
|
||||||
displayName: Copy the NSIS Installer to the artifact directory
|
displayName: 'Copy NSIS Installer'
|
||||||
inputs:
|
inputs:
|
||||||
sourceFolder: $(Build.SourcesDirectory)/deployment/windows/ # Optional
|
sourceFolder: $(Build.SourcesDirectory)/deployment/windows/ # Optional
|
||||||
contents: 'jellyfin*.exe'
|
contents: 'jellyfin*.exe'
|
||||||
|
@ -264,7 +224,7 @@ jobs:
|
||||||
flattenFolders: true # Optional
|
flattenFolders: true # Optional
|
||||||
|
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
displayName: 'Publish Setup Artifact'
|
displayName: 'Publish Artifact Setup'
|
||||||
condition: and(eq(variables['BuildConfiguration'], 'Release'), succeeded())
|
condition: and(eq(variables['BuildConfiguration'], 'Release'), succeeded())
|
||||||
inputs:
|
inputs:
|
||||||
targetPath: '$(build.artifactstagingdirectory)/setup'
|
targetPath: '$(build.artifactstagingdirectory)/setup'
|
||||||
|
@ -275,7 +235,8 @@ jobs:
|
||||||
pool:
|
pool:
|
||||||
vmImage: ubuntu-latest
|
vmImage: ubuntu-latest
|
||||||
dependsOn: main_build
|
dependsOn: main_build
|
||||||
condition: and(succeeded(), variables['System.PullRequest.PullRequestNumber']) # Only execute if the pullrequest numer is defined. (So not for normal CI builds)
|
# only execute for pull requests
|
||||||
|
condition: and(succeeded(), variables['System.PullRequest.PullRequestNumber'])
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
Naming:
|
Naming:
|
||||||
|
@ -293,24 +254,23 @@ jobs:
|
||||||
maxParallel: 2
|
maxParallel: 2
|
||||||
steps:
|
steps:
|
||||||
- checkout: none
|
- checkout: none
|
||||||
|
|
||||||
|
- task: UseDotNet@2
|
||||||
|
displayName: 'Update DotNet'
|
||||||
|
inputs:
|
||||||
|
packageType: sdk
|
||||||
|
version: 3.1.100
|
||||||
|
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: Download the New Assembly Build Artifact
|
displayName: 'Download New Assembly Build Artifact'
|
||||||
inputs:
|
inputs:
|
||||||
source: 'current' # Options: current, specific
|
source: 'current' # Options: current, specific
|
||||||
#preferTriggeringPipeline: false # Optional
|
|
||||||
#tags: # Optional
|
|
||||||
artifact: '$(NugetPackageName)' # Optional
|
artifact: '$(NugetPackageName)' # Optional
|
||||||
#patterns: '**' # Optional
|
|
||||||
path: '$(System.ArtifactsDirectory)/new-artifacts'
|
path: '$(System.ArtifactsDirectory)/new-artifacts'
|
||||||
#project: # Required when source == Specific
|
|
||||||
#pipeline: # Required when source == Specific
|
|
||||||
runVersion: 'latest' # Required when source == Specific. Options: latest, latestFromBranch, specific
|
runVersion: 'latest' # Required when source == Specific. Options: latest, latestFromBranch, specific
|
||||||
#runBranch: 'refs/heads/master' # Required when source == Specific && runVersion == LatestFromBranch
|
|
||||||
#runId: # Required when source == Specific && runVersion == Specific
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
- task: CopyFiles@2
|
||||||
displayName: Copy New Assembly to new-release folder
|
displayName: 'Copy New Assembly Build Artifact'
|
||||||
inputs:
|
inputs:
|
||||||
sourceFolder: $(System.ArtifactsDirectory)/new-artifacts # Optional
|
sourceFolder: $(System.ArtifactsDirectory)/new-artifacts # Optional
|
||||||
contents: '**/*.dll'
|
contents: '**/*.dll'
|
||||||
|
@ -320,22 +280,18 @@ jobs:
|
||||||
flattenFolders: true # Optional
|
flattenFolders: true # Optional
|
||||||
|
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: Download the Reference Assembly Build Artifact
|
displayName: 'Download Reference Assembly Build Artifact'
|
||||||
inputs:
|
inputs:
|
||||||
source: 'specific' # Options: current, specific
|
source: 'specific' # Options: current, specific
|
||||||
#preferTriggeringPipeline: false # Optional
|
|
||||||
#tags: # Optional
|
|
||||||
artifact: '$(NugetPackageName)' # Optional
|
artifact: '$(NugetPackageName)' # Optional
|
||||||
#patterns: '**' # Optional
|
|
||||||
path: '$(System.ArtifactsDirectory)/current-artifacts'
|
path: '$(System.ArtifactsDirectory)/current-artifacts'
|
||||||
project: '$(System.TeamProjectId)' # Required when source == Specific
|
project: '$(System.TeamProjectId)' # Required when source == Specific
|
||||||
pipeline: '$(System.DefinitionId)' # Required when source == Specific
|
pipeline: '$(System.DefinitionId)' # Required when source == Specific
|
||||||
runVersion: 'latestFromBranch' # Required when source == Specific. Options: latest, latestFromBranch, specific
|
runVersion: 'latestFromBranch' # Required when source == Specific. Options: latest, latestFromBranch, specific
|
||||||
runBranch: 'refs/heads/$(System.PullRequest.TargetBranch)' # Required when source == Specific && runVersion == LatestFromBranch
|
runBranch: 'refs/heads/$(System.PullRequest.TargetBranch)' # Required when source == Specific && runVersion == LatestFromBranch
|
||||||
#runId: # Required when source == Specific && runVersion == Specific
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
- task: CopyFiles@2
|
||||||
displayName: Copy Reference Assembly to current-release folder
|
displayName: 'Copy Reference Assembly Build Artifact'
|
||||||
inputs:
|
inputs:
|
||||||
sourceFolder: $(System.ArtifactsDirectory)/current-artifacts # Optional
|
sourceFolder: $(System.ArtifactsDirectory)/current-artifacts # Optional
|
||||||
contents: '**/*.dll'
|
contents: '**/*.dll'
|
||||||
|
@ -345,27 +301,24 @@ jobs:
|
||||||
flattenFolders: true # Optional
|
flattenFolders: true # Optional
|
||||||
|
|
||||||
- task: DownloadGitHubRelease@0
|
- task: DownloadGitHubRelease@0
|
||||||
displayName: Download ABI compatibility check tool from GitHub
|
displayName: 'Download ABI Compatibility Check Tool'
|
||||||
inputs:
|
inputs:
|
||||||
connection: Jellyfin Release Download
|
connection: Jellyfin Release Download
|
||||||
userRepository: EraYaN/dotnet-compatibility
|
userRepository: EraYaN/dotnet-compatibility
|
||||||
defaultVersionType: 'latest' # Options: latest, specificVersion, specificTag
|
defaultVersionType: 'latest' # Options: latest, specificVersion, specificTag
|
||||||
#version: # Required when defaultVersionType != Latest
|
|
||||||
itemPattern: '**-ci.zip' # Optional
|
itemPattern: '**-ci.zip' # Optional
|
||||||
downloadPath: '$(System.ArtifactsDirectory)'
|
downloadPath: '$(System.ArtifactsDirectory)'
|
||||||
|
|
||||||
- task: ExtractFiles@1
|
- task: ExtractFiles@1
|
||||||
displayName: Extract ABI compatibility check tool
|
displayName: 'Extract ABI Compatibility Check Tool'
|
||||||
inputs:
|
inputs:
|
||||||
archiveFilePatterns: '$(System.ArtifactsDirectory)/*-ci.zip'
|
archiveFilePatterns: '$(System.ArtifactsDirectory)/*-ci.zip'
|
||||||
destinationFolder: $(System.ArtifactsDirectory)/tools
|
destinationFolder: $(System.ArtifactsDirectory)/tools
|
||||||
cleanDestinationFolder: true
|
cleanDestinationFolder: true
|
||||||
|
|
||||||
|
# The `--warnings-only` switch will swallow the return code and not emit any errors.
|
||||||
- task: CmdLine@2
|
- task: CmdLine@2
|
||||||
displayName: Execute ABI compatibility check tool
|
displayName: 'Execute ABI Compatibility Check Tool'
|
||||||
inputs:
|
inputs:
|
||||||
script: 'dotnet tools/CompatibilityCheckerCoreCLI.dll current-release/$(AssemblyFileName) new-release/$(AssemblyFileName) --azure-pipelines'
|
script: 'dotnet tools/CompatibilityCheckerCLI.dll current-release/$(AssemblyFileName) new-release/$(AssemblyFileName) --azure-pipelines --warnings-only'
|
||||||
workingDirectory: $(System.ArtifactsDirectory) # Optional
|
workingDirectory: $(System.ArtifactsDirectory) # Optional
|
||||||
#failOnStderr: false # Optional
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user