@ -4,15 +4,14 @@ parameters:
DotNetSdkVersion : 3.1 .100
jobs:
- job : Main Build
displayName : Main Build
- job : Build
displayName : Build
strategy:
matrix:
Release:
BuildConfiguration : Release
Debug:
BuildConfiguration : Debug
maxParallel : 2
pool:
vmImage : "${{ parameters.LinuxImage }}"
steps:
@ -22,13 +21,13 @@ jobs:
persistCredentials : true
- task : CmdLine@2
displayName : "Clone Web Client (Master, Release, or Tag) "
displayName : "Clone Web Branch "
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:
script : "git clone --single-branch --branch $(Build.SourceBranchName) --depth=1 https://github.com/jellyfin/jellyfin-web.git $(Agent.TempDirectory)/jellyfin-web"
- task : CmdLine@2
displayName : "Clone Web Client (PR) "
displayName : "Clone Web Target "
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:
script : "git clone --single-branch --branch $(System.PullRequest.TargetBranch) --depth 1 https://github.com/jellyfin/jellyfin-web.git $(Agent.TempDirectory)/jellyfin-web"
@ -37,7 +36,7 @@ jobs:
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'))
inputs:
versionSpec : "1 0 .x"
versionSpec : "1 2 .x"
- task : CmdLine@2
displayName : "Build Web Client"
@ -69,33 +68,33 @@ jobs:
command : publish
publishWebProjects : false
projects : "${{ parameters.RestoreBuildProjects }}"
arguments : "--configuration $(BuildConfiguration) --output $( build.artifactstagingd irectory)"
arguments : "--configuration $(BuildConfiguration) --output $( Build.ArtifactStagingD irectory)"
zipAfterPublish : false
- task : PublishPipelineArtifact@0
displayName : "Publish Artifact Naming"
condition : and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
targetPath : "$(build. artifactstagingd irectory)/Jellyfin.Server/Emby.Naming.dll"
targetPath : "$(build. ArtifactStagingD irectory)/Jellyfin.Server/Emby.Naming.dll"
artifactName : "Jellyfin.Naming"
- task : PublishPipelineArtifact@0
displayName : "Publish Artifact Controller"
condition : and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
targetPath : "$(build. artifactstagingd irectory)/Jellyfin.Server/MediaBrowser.Controller.dll"
targetPath : "$(build. ArtifactStagingD irectory)/Jellyfin.Server/MediaBrowser.Controller.dll"
artifactName : "Jellyfin.Controller"
- task : PublishPipelineArtifact@0
displayName : "Publish Artifact Model"
condition : and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
targetPath : "$(build. artifactstagingd irectory)/Jellyfin.Server/MediaBrowser.Model.dll"
targetPath : "$(build. ArtifactStagingD irectory)/Jellyfin.Server/MediaBrowser.Model.dll"
artifactName : "Jellyfin.Model"
- task : PublishPipelineArtifact@0
displayName : "Publish Artifact Common"
condition : and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
targetPath : "$(build. artifactstagingd irectory)/Jellyfin.Server/MediaBrowser.Common.dll"
targetPath : "$(build. ArtifactStagingD irectory)/Jellyfin.Server/MediaBrowser.Common.dll"
artifactName : "Jellyfin.Common"