diff --git a/.gitattributes b/.gitattributes index e9852ad00..2998943f4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,6 +3,7 @@ # Explicitly set bash scripts to have unix endings *.sh text eol=lf +macOS/Lidarr text eol=lf # Custom for Visual Studio *.cs diff=csharp diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 10050f68d..3dd7a2920 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -140,7 +140,6 @@ stages: pool: vmImage: 'ubuntu-16.04' steps: - - bash: sudo apt install dos2unix - checkout: self fetchDepth: 1 - task: DownloadPipelineArtifact@2 @@ -282,12 +281,13 @@ stages: testRunTitle: '$(osName) Unit Tests' failTaskOnFailedTests: true - - stage: Integration_Automation - displayName: Integration / Automation - dependsOn: Package + - stage: Integration + displayName: Integration + dependsOn: Packages jobs: - - job: Integration + - job: Integration_Native + displayName: Integration Native strategy: matrix: Linux: @@ -357,6 +357,82 @@ stages: failTaskOnFailedTests: true displayName: Publish Test Results + - job: Integration_Docker + displayName: Integration Docker + strategy: + matrix: + mono508: + testName: 'Mono 5.8' + containerImage: mono:5.8 + mono510: + testName: 'Mono 5.10' + containerImage: mono:5.10 + mono516: + testName: 'Mono 5.16' + containerImage: mono:5.16 + mono518: + testName: 'Mono 5.18' + containerImage: mono:5.18 + mono520: + testName: 'Mono 5.20' + containerImage: mono:5.20 + + variables: + pattern: 'Lidarr.**.linux.tar.gz' + + pool: + vmImage: 'ubuntu-16.04' + + container: $[ variables['containerImage'] ] + + timeoutInMinutes: 6 + + steps: + - bash: mono --version + displayName: Check Mono version + - checkout: none + - task: DownloadPipelineArtifact@2 + displayName: Download Test Artifact + inputs: + buildType: 'current' + artifactName: WindowsTests + targetPath: $(testsFolder) + - task: DownloadPipelineArtifact@2 + displayName: Download Build Artifact + inputs: + buildType: 'current' + artifactName: Packages + itemPattern: '**/$(pattern)' + targetPath: $(Build.ArtifactStagingDirectory) + - task: ExtractFiles@1 + inputs: + archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$(pattern)' + destinationFolder: '$(Build.ArtifactStagingDirectory)/bin' + displayName: Extract Package + - bash: | + mkdir -p ./bin/ + cp -r -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Lidarr/. ./bin/ + ls -lR + displayName: Move Package Contents + - task: Bash@3 + displayName: Run Integration Tests + inputs: + targetType: 'filePath' + filePath: '$(testsFolder)/test.sh' + arguments: Linux Integration Test + - task: PublishTestResults@2 + inputs: + testResultsFormat: 'NUnit' + testResultsFiles: '**/TestResult.xml' + testRunTitle: '$(testName) Integration Tests' + failTaskOnFailedTests: true + displayName: Publish Test Results + + - stage: Automation + displayName: Automation + dependsOn: Packages + + jobs: - job: Automation strategy: matrix: diff --git a/build.sh b/build.sh index 64da6b6ac..e929481a1 100755 --- a/build.sh +++ b/build.sh @@ -196,7 +196,6 @@ PackageMacOS() echo "Adding Startup script" cp ./macOS/Lidarr $outputFolderMacOS - dos2unix $outputFolderMacOS/Lidarr echo "Copying Binaries" cp -r $outputFolderLinux/* $outputFolderMacOS