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

94 lines
3.3 KiB
YAML
Raw Normal View History

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