From 1652ac8f1c11fd2f0f4ec9726dbd1bfdbdebec83 Mon Sep 17 00:00:00 2001 From: nimetu Date: Wed, 12 Jan 2022 23:51:07 +0200 Subject: [PATCH] Replace azure-pipeline hunter jobs with matrix strategy --- azure-pipelines.yml | 139 ++++++++++++++++++++++---------------------- 1 file changed, 71 insertions(+), 68 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 9c735531b..dc9524d24 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -77,88 +77,91 @@ jobs: cd build make -j`nproc` displayName: 'Make' - - job: windows2019 + - job: client + strategy: + matrix: + ubuntu: + vmImage: 'ubuntu-18.04' + releaseName: 'Ubuntu18' + aptPackages: >- + libasound2-dev + libgl1-mesa-dev + libjack-dev + libpulse-dev + libxrandr-dev + libxrender-dev + libxxf86vm-dev + win2019: + vmImage: 'windows-2019' + releaseName: 'Win64' + cmakeExtra: >- + -DWITH_DRIVER_DIRECT3D=ON + -DWITH_DRIVER_XAUDIO2=ON + -DDXSDK_DIR=C:/DXSDK + macOS11: + vmImage: 'macOS-11' + releaseName: 'macOS' + MACOSX_DEPLOYMENT_TARGET: 10.12 + cmakeExtra: >- + -DWITH_LIBXML2_ICONV=OFF + -GXcode timeoutInMinutes: 120 pool: - vmImage: 'windows-2019' + vmImage: $(vmImage) steps: - checkout: self - fetchDepth: 1 - - task: Cache@2 - inputs: - key: 'hunter-win2019-x64-rel' - path: "c:/.hunter/_Base/Cache" + fetchDepth: 0 + - script: | + sudo apt update + sudo apt remove -y man-db + sudo apt install -y --no-install-recommends $(aptPackages) + displayName: '(ubuntu) Dependencies' + condition: eq(variables['Agent.JobName'], 'client ubuntu') - task: CmdLine@2 inputs: script: | aria2c https://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe 7z x DXSDK_Jun10.exe -oC:\ -r -y del DXSDK_Jun10.exe - - task: CMake@1 - inputs: - workingDirectory: build.release - cmakeArgs: '-DCMAKE_CONFIGURATION_TYPES=Release -DHUNTER_ENABLED=ON -DHUNTER_CONFIGURATION_TYPES=Release -DFINAL_VERSION=OFF -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TOOLS=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_DRIVER_OPENGL=ON -DWITH_DRIVER_OPENAL=ON -DWITH_DRIVER_DIRECT3D=ON -DWITH_DRIVER_XAUDIO2=ON -DDXSDK_DIR=C:/DXSDK ..' - - task: MSBuild@1 - inputs: - solution: build.release/ALL_BUILD.vcxproj - maximumCpuCount: true - configuration: release - platform: 'x64' - - job: ubuntu18hunter - timeoutInMinutes: 120 - pool: - vmImage: ubuntu-18.04 - steps: - - checkout: self - fetchDepth: 0 - - script: | - sudo apt-get update - sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libasound2-dev libgl1-mesa-dev libjack-dev libpulse-dev libxrandr-dev libxrender-dev libxxf86vm-dev - displayName: 'Dependencies' + displayName: '(windows) DirectX SDK' + condition: contains(variables['cmakeExtra'], 'DIRECT3D=ON') - task: Cache@2 inputs: - key: 'hunter317-ubuntu18-rel"' - path: "$(Pipeline.Workspace)/.hunter/_Base/Cache" - - script: | - mkdir build.release - cmake --version - cd build.release - unset SYSTEM - export MAKEFLAGS=-j`nproc` - cmake -DCMAKE_BUILD_TYPE=Release -DHUNTER_ENABLED=ON -DHUNTER_CONFIGURATION_TYPES=Release -DHUNTER_ROOT="$(Pipeline.Workspace)/.hunter" -DFINAL_VERSION=OFF -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TOOLS=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_DRIVER_OPENGL=ON -DWITH_DRIVER_OPENAL=ON .. - displayName: 'CMake, release' - - script: | - cd build.release - make -j`nproc` - displayName: 'Make, release' - #- task: PublishPipelineArtifact@1 - # inputs: - # targetPath: build.release/bin - # artifactName: RyzomUbuntu18Release - - job: macOS11 - timeoutInMinutes: 120 - pool: - vmImage: 'macOS-11' - steps: - - checkout: self - fetchDepth: 0 - - task: Cache@2 - inputs: - key: 'hunter317-macOS11-rel"' - path: "$(Pipeline.Workspace)/.hunter/_Base/Cache" + key: 'hunter317-$(releaseName)' + path: '$(Pipeline.Workspace)/.hunter/_Base/Cache' - task: CMake@1 + displayName: 'Configure' inputs: - workingDirectory: build.release - cmakeArgs: '-GXcode -DCMAKE_CONFIGURATION_TYPES=Release -DHUNTER_ENABLED=ON -DHUNTER_STATUS_DEBUG=ON -DHUNTER_CONFIGURATION_TYPES=Release -DHUNTER_ROOT="$(Pipeline.Workspace)/.hunter" -DWITH_LIBXML2_ICONV=OFF -DFINAL_VERSION=OFF -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TOOLS=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_DRIVER_OPENGL=ON -DWITH_DRIVER_OPENAL=ON -DWITH_DRIVER_DIRECT3D=OFF -DWITH_DRIVER_XAUDIO2=OFF ..' - - task: Xcode@5 + workingDirectory: $(Build.BinariesDirectory) + cmakeArgs: >- + $(cmakeExtra) + -DCMAKE_CONFIGURATION_TYPES=Release + -DFINAL_VERSION=OFF + -DHUNTER_CONFIGURATION_TYPES=Release + -DHUNTER_ENABLED=ON + -DHUNTER_ROOT=$(Pipeline.Workspace)/.hunter + -DHUNTER_STATUS_DEBUG=ON + -DWITH_DRIVER_OPENAL=ON + -DWITH_DRIVER_OPENGL=ON + -DWITH_INSTALL_LIBRARIES=OFF + -DWITH_NEL_SAMPLES=OFF + -DWITH_NEL_TESTS=OFF + -DWITH_NEL_TOOLS=OFF + -DWITH_RYZOM_CLIENT=ON + -DWITH_RYZOM_SERVER=OFF + -DWITH_RYZOM_TOOLS=OFF + $(Build.SourcesDirectory) + - task: CMake@1 + displayName: 'Build' inputs: - actions: 'build' - configuration: Release - sdk: macosx12.0 - xcWorkspacePath: 'build.release/RyzomCore.xcodeproj' - scheme: 'ALL_BUILD' - packageApp: false + workingDirectory: $(Build.BinariesDirectory) + cmakeArgs: '--build . --config Release' + #- task: CMake@1 + # displayName: 'Install' + # inputs: + # workingDirectory: $(Build.BinariesDirectory) + # cmakeArgs: --install . --config Release --prefix $(Build.StagingDirectory) #- task: PublishPipelineArtifact@1 # inputs: - # targetPath: build.release/bin/ - # artifactName: RyzomClientMacOS11Release + # targetPath: $(Build.StagingDirectory)/bin + # artifactName: RyzomClient$(releaseName)Release