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

101 lines
3.7 KiB
YAML
Raw Normal View History

parameters:
2020-06-06 22:38:46 -07:00
LinuxImage: 'ubuntu-latest'
RestoreBuildProjects: 'Jellyfin.Server/Jellyfin.Server.csproj'
DotNetSdkVersion: 6.0.x
jobs:
2020-04-07 09:36:36 -07:00
- job: Build
displayName: Build
strategy:
matrix:
Release:
BuildConfiguration: Release
Debug:
BuildConfiguration: Debug
pool:
2020-06-06 22:38:46 -07:00
vmImage: '${{ parameters.LinuxImage }}'
steps:
- checkout: self
clean: true
submodules: true
persistCredentials: true
- task: DownloadPipelineArtifact@2.198.0
2020-06-06 22:38:46 -07:00
displayName: 'Download Web Branch'
2020-04-12 10:20:37 -07:00
condition: in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'BuildCompletion')
inputs:
2020-04-12 10:20:37 -07:00
path: '$(Agent.TempDirectory)'
artifact: 'jellyfin-web-production'
source: 'specific'
2020-04-12 10:27:42 -07:00
project: 'jellyfin'
pipeline: 'Jellyfin Web'
2020-04-12 10:20:37 -07:00
runBranch: variables['Build.SourceBranch']
- task: DownloadPipelineArtifact@2.198.0
2020-06-06 22:38:46 -07:00
displayName: 'Download Web Target'
condition: eq(variables['Build.Reason'], 'PullRequest')
inputs:
2020-04-12 10:20:37 -07:00
path: '$(Agent.TempDirectory)'
artifact: 'jellyfin-web-production'
source: 'specific'
2020-04-12 10:27:42 -07:00
project: 'jellyfin'
pipeline: 'Jellyfin Web'
2020-04-12 10:20:37 -07:00
runBranch: variables['System.PullRequest.TargetBranch']
- task: ExtractFiles@1.211.0
2020-06-06 22:38:46 -07:00
displayName: 'Extract Web Client'
inputs:
2020-04-12 10:20:37 -07:00
archiveFilePatterns: '$(Agent.TempDirectory)/*.zip'
destinationFolder: '$(Build.SourcesDirectory)/MediaBrowser.WebDashboard'
cleanDestinationFolder: false
- task: UseDotNet@2
2020-06-06 22:38:46 -07:00
displayName: 'Update DotNet'
inputs:
packageType: sdk
version: ${{ parameters.DotNetSdkVersion }}
- task: DotNetCoreCLI@2.210.0
2020-06-06 22:38:46 -07:00
displayName: 'Publish Server'
inputs:
command: publish
publishWebProjects: false
2020-06-06 22:38:46 -07:00
projects: '${{ parameters.RestoreBuildProjects }}'
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: false
- task: PublishPipelineArtifact@1
2020-06-06 22:38:46 -07:00
displayName: 'Publish Artifact Naming'
2020-01-18 08:19:19 -07:00
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
2020-06-06 22:38:46 -07:00
targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/Emby.Naming.dll'
artifactName: 'Jellyfin.Naming'
- task: PublishPipelineArtifact@1
2020-06-06 22:38:46 -07:00
displayName: 'Publish Artifact Controller'
2020-01-18 08:19:19 -07:00
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
2020-06-06 22:38:46 -07:00
targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/MediaBrowser.Controller.dll'
artifactName: 'Jellyfin.Controller'
- task: PublishPipelineArtifact@1
2020-06-06 22:38:46 -07:00
displayName: 'Publish Artifact Model'
2020-01-18 08:19:19 -07:00
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
2020-06-06 22:38:46 -07:00
targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/MediaBrowser.Model.dll'
artifactName: 'Jellyfin.Model'
- task: PublishPipelineArtifact@1
2020-06-06 22:38:46 -07:00
displayName: 'Publish Artifact Common'
2020-01-18 08:19:19 -07:00
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
2020-06-06 22:38:46 -07:00
targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/MediaBrowser.Common.dll'
artifactName: 'Jellyfin.Common'
- task: PublishPipelineArtifact@1
2021-09-18 07:21:54 -07:00
displayName: 'Publish Artifact Extensions'
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
inputs:
targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/Jellyfin.Extensions.dll'
artifactName: 'Jellyfin.Extensions'