Fix mac fpcalc, add mac integration tests

This commit is contained in:
ta264 2019-08-12 07:17:38 +01:00
commit 63a0147dc4

View file

@ -114,8 +114,8 @@ stages:
- Build_Backend - Build_Backend
- Build_Frontend - Build_Frontend
jobs: jobs:
- job: Windows_Packages - job: Windows_Installer
displayName: Create Packages displayName: Create Windows Installer
pool: pool:
vmImage: 'vs2017-win2016' vmImage: 'vs2017-win2016'
steps: steps:
@ -132,6 +132,40 @@ stages:
targetPath: _output targetPath: _output
- bash: ./build.sh --only-packages - bash: ./build.sh --only-packages
displayName: Create Lidarr Packages displayName: Create Lidarr Packages
- bash: |
./setup/inno/ISCC.exe "./setup/lidarr.iss"
cp ./setup/output/Lidarr.*windows.exe ${BUILD_ARTIFACTSTAGINGDIRECTORY}/${WINDOWSINSTALLER}
displayName: Create Windows installer
- publish: $(Build.ArtifactStagingDirectory)
artifact: 'WindowsInstaller'
- job: Other_Packages
displayName: Create Standard Packages
pool:
vmImage: 'ubuntu-16.04'
steps:
- checkout: self
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: WindowsBackend
targetPath: _output
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: WindowsFrontend
targetPath: _output
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: WindowsInstaller
targetPath: $(Build.ArtifactStagingDirectory)
- bash: ./build.sh --only-packages
displayName: Create Lidarr Packages
- bash: |
chmod a+x $(artifactsFolder)/macos/fpcalc
chmod a+x $(artifactsFolder)/macos-app/fpcalc
displayName: Make fpcalc Executable
- task: ArchiveFiles@2 - task: ArchiveFiles@2
displayName: Create Windows zip displayName: Create Windows zip
inputs: inputs:
@ -162,10 +196,6 @@ stages:
tarCompression: 'gz' tarCompression: 'gz'
includeRootFolder: false includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/linux rootFolderOrFile: $(artifactsFolder)/linux
- bash: |
./setup/inno/ISCC.exe "./setup/lidarr.iss"
cp ./setup/output/Lidarr.*windows.exe ${BUILD_ARTIFACTSTAGINGDIRECTORY}/${WINDOWSINSTALLER}
displayName: Create Windows installer
- publish: $(Build.ArtifactStagingDirectory) - publish: $(Build.ArtifactStagingDirectory)
artifact: 'Packages' artifact: 'Packages'
- bash: | - bash: |
@ -228,9 +258,6 @@ stages:
targetType: 'filePath' targetType: 'filePath'
filePath: '$(testsFolder)/test.sh' filePath: '$(testsFolder)/test.sh'
arguments: '$(osName) Unit Test' arguments: '$(osName) Unit Test'
# - bash: $(testsFolder)/test.sh $(osName) Unit Test
# env:
# DYLD_FALLBACK_LIBRARY_PATH: $(Build.SourcesDirectory)/_tests
- task: PublishTestResults@2 - task: PublishTestResults@2
displayName: Publish Test Results displayName: Publish Test Results
inputs: inputs:
@ -243,15 +270,31 @@ stages:
dependsOn: Package dependsOn: Package
jobs: jobs:
- job: Linux_Integration_Tests - job: Integration
displayName: Linux Integration strategy:
matrix:
Linux:
osName: 'Linux'
imageName: 'ubuntu-16.04'
pattern: 'Lidarr.**.linux.tar.gz'
Mac:
osName: 'Mac'
imageName: 'macos-10.13'
pattern: 'Lidarr.**.osx.tar.gz'
Windows:
osName: 'Windows'
imageName: 'vs2017-win2016'
pattern: 'Lidarr.**.windows.zip'
pool: pool:
vmImage: 'ubuntu-16.04' vmImage: $(imageName)
steps: steps:
- script: | - script: |
wget https://github.com/acoustid/chromaprint/releases/download/v1.4.3/chromaprint-fpcalc-1.4.3-linux-x86_64.tar.gz wget https://github.com/acoustid/chromaprint/releases/download/v1.4.3/chromaprint-fpcalc-1.4.3-linux-x86_64.tar.gz
sudo tar xf chromaprint-fpcalc-1.4.3-linux-x86_64.tar.gz --strip-components=1 --directory /usr/bin sudo tar xf chromaprint-fpcalc-1.4.3-linux-x86_64.tar.gz --strip-components=1 --directory /usr/bin
displayName: Install fpcalc displayName: Install fpcalc
condition: and(succeeded(), eq(variables['osName'], 'Linux'))
- checkout: self - checkout: self
- task: DownloadPipelineArtifact@2 - task: DownloadPipelineArtifact@2
displayName: Download Test Artifact displayName: Download Test Artifact
@ -264,64 +307,69 @@ stages:
inputs: inputs:
buildType: 'current' buildType: 'current'
artifactName: Packages artifactName: Packages
itemPattern: '**/Lidarr.**.linux.tar.gz' itemPattern: '**/$(pattern)'
targetPath: $(Build.ArtifactStagingDirectory) targetPath: $(Build.ArtifactStagingDirectory)
- task: ExtractFiles@1 - task: ExtractFiles@1
inputs: inputs:
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/Lidarr.**.linux.tar.gz' archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/$(pattern)'
destinationFolder: '$(Build.ArtifactStagingDirectory)/bin' destinationFolder: '$(Build.ArtifactStagingDirectory)/bin'
- bash: | - bash: |
mkdir ./bin mkdir ./bin
cp -R -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Lidarr/* ./bin cp -R -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Lidarr/* ./bin
- task: Bash@3 - task: Bash@3
displayName: Linux Integration Tests displayName: Run Integration Tests
inputs: inputs:
targetType: 'filePath' targetType: 'filePath'
filePath: ./test.sh filePath: ./test.sh
arguments: Linux Integration Test arguments: $(osName) Integration Test
- task: PublishTestResults@2 - task: PublishTestResults@2
inputs: inputs:
testResultsFormat: 'NUnit' testResultsFormat: 'NUnit'
testResultsFiles: '**/TestResult.xml' testResultsFiles: '**/TestResult.xml'
testRunTitle: 'Linux Integration Tests' testRunTitle: '$(osName) Integration Tests'
- job: Windows_Integration_Tests # - job: Windows_Integration_Tests
displayName: Windows Integration # displayName: Windows Integration
pool: # pool:
vmImage: 'vs2017-win2016' # vmImage: 'vs2017-win2016'
steps: # steps:
- checkout: self # - script: |
- task: DownloadPipelineArtifact@2 # wget https://github.com/acoustid/chromaprint/releases/download/v1.4.3/chromaprint-fpcalc-1.4.3-linux-x86_64.tar.gz
displayName: Download Test Artifact # sudo tar xf chromaprint-fpcalc-1.4.3-linux-x86_64.tar.gz --strip-components=1 --directory /usr/bin
inputs: # displayName: Install fpcalc
buildType: 'current' # condition: and(succeeded(), eq(variables['osName'], 'Linux'))
artifactName: WindowsTests # - checkout: self
targetPath: $(testsFolder) # - task: DownloadPipelineArtifact@2
- task: DownloadPipelineArtifact@2 # displayName: Download Test Artifact
displayName: Download Build Artifact # inputs:
inputs: # buildType: 'current'
buildType: 'current' # artifactName: WindowsTests
artifactName: Packages # targetPath: $(testsFolder)
itemPattern: '**\Lidarr.**.windows.zip' # - task: DownloadPipelineArtifact@2
targetPath: $(Build.ArtifactStagingDirectory) # displayName: Download Build Artifact
- task: ExtractFiles@1 # inputs:
inputs: # buildType: 'current'
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/Lidarr.**.windows.zip' # artifactName: Packages
destinationFolder: '$(Build.ArtifactStagingDirectory)/bin' # itemPattern: '**\Lidarr.**.windows.zip'
- bash: | # targetPath: $(Build.ArtifactStagingDirectory)
mkdir -p ./bin/ # - task: ExtractFiles@1
cp -r -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Lidarr/. ./bin/ # inputs:
- task: Bash@3 # archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/**/Lidarr.**.windows.zip'
displayName: Windows Integration Tests # destinationFolder: '$(Build.ArtifactStagingDirectory)/bin'
inputs: # - bash: |
targetType: 'filePath' # mkdir -p ./bin/
filePath: ./test.sh # cp -r -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Lidarr/. ./bin/
arguments: Windows Integration Test # - task: Bash@3
- task: PublishTestResults@2 # displayName: Windows Integration Tests
inputs: # inputs:
testResultsFormat: 'NUnit' # targetType: 'filePath'
testResultsFiles: '**/TestResult.xml' # filePath: ./test.sh
testRunTitle: 'Windows Integration Tests' # arguments: Windows Integration Test
# - task: PublishTestResults@2
# inputs:
# testResultsFormat: 'NUnit'
# testResultsFiles: '**/TestResult.xml'
# testRunTitle: 'Windows Integration Tests'
- job: Windows_Automation_Tests - job: Windows_Automation_Tests
displayName: Windows Automation displayName: Windows Automation