|
@@ -2,7 +2,7 @@ name: $(Date:yyyyMMdd)$(Rev:.r)
|
|
|
|
|
|
variables:
|
|
variables:
|
|
- name: TestProjects
|
|
- name: TestProjects
|
|
- value: 'Jellyfin.Server.Tests/Jellyfin.Server.Tests.csproj'
|
|
|
|
|
|
+ value: 'tests/Jellyfin.Common.Tests/Jellyfin.Common.Tests.csproj'
|
|
- name: RestoreBuildProjects
|
|
- name: RestoreBuildProjects
|
|
value: 'Jellyfin.Server/Jellyfin.Server.csproj'
|
|
value: 'Jellyfin.Server/Jellyfin.Server.csproj'
|
|
|
|
|
|
@@ -39,13 +39,6 @@ jobs:
|
|
arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'
|
|
arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'
|
|
zipAfterPublish: false
|
|
zipAfterPublish: false
|
|
|
|
|
|
- # - task: PublishBuildArtifacts@1
|
|
|
|
- # displayName: 'Publish Artifact'
|
|
|
|
- # inputs:
|
|
|
|
- # PathtoPublish: '$(build.artifactstagingdirectory)'
|
|
|
|
- # artifactName: 'jellyfin-build-$(BuildConfiguration)'
|
|
|
|
- # zipAfterPublish: true
|
|
|
|
-
|
|
|
|
- task: PublishPipelineArtifact@0
|
|
- task: PublishPipelineArtifact@0
|
|
displayName: 'Publish Artifact Naming'
|
|
displayName: 'Publish Artifact Naming'
|
|
condition: and(eq(variables['BuildConfiguration'], 'Release'), succeeded())
|
|
condition: and(eq(variables['BuildConfiguration'], 'Release'), succeeded())
|
|
@@ -74,6 +67,87 @@ jobs:
|
|
targetPath: '$(build.artifactstagingdirectory)/Jellyfin.Server/MediaBrowser.Common.dll'
|
|
targetPath: '$(build.artifactstagingdirectory)/Jellyfin.Server/MediaBrowser.Common.dll'
|
|
artifactName: 'Jellyfin.Common'
|
|
artifactName: 'Jellyfin.Common'
|
|
|
|
|
|
|
|
+ - job: main_test
|
|
|
|
+ displayName: Main Test
|
|
|
|
+ pool:
|
|
|
|
+ vmImage: windows-latest
|
|
|
|
+ steps:
|
|
|
|
+ - checkout: self
|
|
|
|
+ clean: true
|
|
|
|
+ submodules: true
|
|
|
|
+ persistCredentials: false
|
|
|
|
+
|
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
|
+ displayName: Build
|
|
|
|
+ inputs:
|
|
|
|
+ command: build
|
|
|
|
+ publishWebProjects: false
|
|
|
|
+ projects: '$(TestProjects)'
|
|
|
|
+ arguments: '--configuration $(BuildConfiguration)'
|
|
|
|
+ zipAfterPublish: false
|
|
|
|
+
|
|
|
|
+ - task: VisualStudioTestPlatformInstaller@1
|
|
|
|
+ inputs:
|
|
|
|
+ packageFeedSelector: 'nugetOrg' # Options: nugetOrg, customFeed, netShare
|
|
|
|
+ versionSelector: 'latestPreRelease' # Required when packageFeedSelector == NugetOrg || PackageFeedSelector == CustomFeed# Options: latestPreRelease, latestStable, specificVersion
|
|
|
|
+
|
|
|
|
+ - task: VSTest@2
|
|
|
|
+ inputs:
|
|
|
|
+ testSelector: 'testAssemblies' # Options: testAssemblies, testPlan, testRun
|
|
|
|
+ testAssemblyVer2: | # Required when testSelector == TestAssemblies
|
|
|
|
+ **\bin\$(BuildConfiguration)\**\*test*.dll
|
|
|
|
+ !**\obj\**
|
|
|
|
+ !**\xunit.runner.visualstudio.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)'
|
|
|
|
+ #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
|
|
|
|
+ runTestsInIsolation: 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
|
|
|
|
+ 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: Main Build Windows
|
|
pool:
|
|
pool:
|