mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-04-23 21:47:14 -04:00
Added compat checking to YAML
This commit is contained in:
parent
7c9803e135
commit
7bbcb455c0
1 changed files with 116 additions and 19 deletions
|
@ -1,19 +1,10 @@
|
|||
name: Build
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: self
|
||||
type: github
|
||||
name: EraYaN/jellyfin
|
||||
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
name: $(Date:yyyyMMdd).$(Rev:.r)
|
||||
|
||||
variables:
|
||||
- name: TestProjects
|
||||
value: ''
|
||||
- name: RestoreBuildProjects
|
||||
value: 'Jellyfin.Server/Jellyfin.Server.csproj'
|
||||
- name: TestProjects
|
||||
value: 'Jellyfin.Server.Tests/Jellyfin.Server.Tests.csproj'
|
||||
- name: RestoreBuildProjects
|
||||
value: 'Jellyfin.Server/Jellyfin.Server.csproj'
|
||||
|
||||
pr:
|
||||
autoCancel: true
|
||||
|
@ -22,12 +13,19 @@ trigger:
|
|||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
|
||||
#Your build pipeline references the ‘BuildConfiguration’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
|
||||
- master
|
||||
|
||||
jobs:
|
||||
- job: Build
|
||||
- job: main_build
|
||||
displayName: Main Build
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
strategy:
|
||||
matrix:
|
||||
release:
|
||||
BuildConfiguration: Release
|
||||
debug:
|
||||
BuildConfiguration: Release
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
@ -67,5 +65,104 @@ jobs:
|
|||
displayName: 'Publish Artifact'
|
||||
inputs:
|
||||
PathtoPublish: '$(build.artifactstagingdirectory)'
|
||||
artifactName: 'build-$(BuildConfiguration)'
|
||||
artifactName: 'jellyfin-build-$(BuildConfiguration)'
|
||||
zipAfterPublish: false
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Publish Artifact Naming'
|
||||
condition: eq(variables['BuildConfiguration'], 'Release')
|
||||
inputs:
|
||||
PathtoPublish: '$(build.artifactstagingdirectory)/MediaBrowser.Naming.dll'
|
||||
artifactName: 'Jellyfin.Naming'
|
||||
zipAfterPublish: false
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Publish Artifact Controller'
|
||||
condition: eq(variables['BuildConfiguration'], 'Release')
|
||||
inputs:
|
||||
PathtoPublish: '$(build.artifactstagingdirectory)/MediaBrowser.Controller.dll'
|
||||
artifactName: 'Jellyfin.Controller'
|
||||
zipAfterPublish: false
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Publish Artifact Model'
|
||||
condition: eq(variables['BuildConfiguration'], 'Release')
|
||||
inputs:
|
||||
PathtoPublish: '$(build.artifactstagingdirectory)/MediaBrowser.Model.dll'
|
||||
artifactName: 'Jellyfin.Model'
|
||||
zipAfterPublish: false
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Publish Artifact Common'
|
||||
condition: eq(variables['BuildConfiguration'], 'Release')
|
||||
inputs:
|
||||
PathtoPublish: '$(build.artifactstagingdirectory)/MediaBrowser.Common.dll'
|
||||
artifactName: 'Jellyfin.Common'
|
||||
zipAfterPublish: false
|
||||
|
||||
- job: dotnet_compat
|
||||
displayName: Compatibility Check
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
dependsOn: main_build
|
||||
condition: success()
|
||||
strategy:
|
||||
matrix:
|
||||
Naming:
|
||||
NugetPackageName: Jellyfin.Naming
|
||||
AssemblyName: Emby.Naming.dll
|
||||
Controller:
|
||||
NugetPackageName: Jellyfin.Controller
|
||||
AssemblyName: MediaBrowser.Controller.dll
|
||||
Model:
|
||||
NugetPackageName: Jellyfin.Model
|
||||
AssemblyName: MediaBrowser.Model.dll
|
||||
Common:
|
||||
NugetPackageName: Jellyfin.Common
|
||||
AssemblyName: MediaBrowser.Common.dll
|
||||
steps:
|
||||
- checkout: none
|
||||
|
||||
- task: NuGet@2
|
||||
displayName: 'Download $(NugetPackageName)'
|
||||
inputs:
|
||||
command: custom
|
||||
arguments: 'install $(NugetPackageName) -OutputDirectory $(System.ArtifactsDirectory)/packages -ExcludeVersion -DirectDownload'
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy Nuget Assembly to release folder
|
||||
inputs:
|
||||
sourceFolder: $(System.ArtifactsDirectory)/packages/$(NugetPackageName) # Optional
|
||||
contents: '**/*.dll'
|
||||
targetFolder: $(System.ArtifactsDirectory)/current-release
|
||||
cleanTargetFolder: true # Optional
|
||||
overWrite: true # Optional
|
||||
flattenFolders: true # Optional
|
||||
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download the Assembly Build Artifact
|
||||
inputs:
|
||||
buildType: 'current' # Options: current, specific
|
||||
allowPartiallySucceededBuilds: false # Optional
|
||||
downloadType: 'single' # Options: single, specific
|
||||
artifactName: '$(NugetPackageName)' # Required when downloadType == Single
|
||||
downloadPath: '$(System.ArtifactsDirectory)/new-release'
|
||||
|
||||
- task: DownloadGitHubReleases@0
|
||||
displayName: Download ABI compatibility check tool from GitHub
|
||||
inputs:
|
||||
connection: GitHub (EraYaN)
|
||||
userRepository: EraYaN/dotnet-compatibility
|
||||
defaultVersionType: 'latest' # Options: latest, specificVersion, specificTag
|
||||
#version: # Required when defaultVersionType != Latest
|
||||
itemPattern: '**-ci.zip' # Optional
|
||||
downloadPath: '$(System.ArtifactsDirectory)'
|
||||
|
||||
- task: ExtractFiles@1
|
||||
displayName: Extract ABI compatibility check tool
|
||||
inputs:
|
||||
archiveFilePatterns: '*-ci.zip'
|
||||
destinationFolder: $(System.ArtifactsDirectory)\tools
|
||||
cleanDestinationFolder: true
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue