You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ryzom-core/azure-pipelines.yml

168 lines
6.3 KiB
YAML

jobs:
- job: ubuntu18
timeoutInMinutes: 120
pool:
vmImage: 'ubuntu-18.04'
steps:
- script: |
sudo apt update
sudo apt install -y software-properties-common
# sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install cmake build-essential -y
sudo apt install gcc-8 g++-8 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 60
sudo apt install bison autoconf automake -y
sudo apt install libpng-dev -y
sudo apt install libjpeg-dev -y
sudo apt install libgif-dev libfreetype6-dev -y
sudo apt install freeglut3-dev -y
sudo apt install liblua5.2-dev libluabind-dev libcpptest-dev -y
sudo apt install libogg-dev libvorbis-dev libopenal-dev -y
sudo apt install libavcodec-dev libavformat-dev libavdevice-dev libswscale-dev libpostproc-dev -y
sudo apt install libmysqlclient-dev -y
sudo apt install libxml2-dev -y
sudo apt install libcurl4-openssl-dev libssl-dev -y
sudo apt install libsquish-dev -y
sudo apt install liblzma-dev -y
sudo apt install libgsf-1-dev -y
sudo apt install qtbase5-dev qttools5-dev qttools5-dev-tools
displayName: 'Dependencies'
- script: |
mkdir build
cmake --version
cd build
cmake -DWITH_STATIC=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=ON -DWITH_LUA51=OFF -DWITH_LUA52=ON -DWITH_RYZOM=ON -DWITH_RYZOM_SERVER=ON -DWITH_RYZOM_CLIENT=ON -DWITH_RYZOM_TOOLS=ON -DWITH_NEL_TOOLS=ON -DWITH_NELNS=ON -DWITH_NELNS_LOGIN_SYSTEM=ON -DWITH_NELNS_SERVER=ON -DWITH_QT5=ON -DWITH_LIBGSF=ON ..
cat CMakeCache.txt
displayName: 'CMake'
- script: |
cd build
make -j`nproc`
displayName: 'Make'
- job: ubuntu20
timeoutInMinutes: 120
pool:
vmImage: 'ubuntu-20.04'
steps:
- script: |
sudo apt update
sudo apt install -y software-properties-common
sudo apt update
sudo apt install cmake build-essential -y
sudo apt install bison autoconf automake -y
sudo apt install libpng-dev -y
sudo apt install libjpeg-dev -y
sudo apt install libgif-dev libfreetype6-dev -y
sudo apt install freeglut3-dev -y
sudo apt install liblua5.2-dev libluabind-dev libcpptest-dev -y
sudo apt install libogg-dev libvorbis-dev libopenal-dev -y
sudo apt install libavcodec-dev libavformat-dev libavdevice-dev libswscale-dev libpostproc-dev -y
sudo apt install libmysqlclient-dev -y
sudo apt install libxml2-dev -y
sudo apt install libcurl4-openssl-dev libssl-dev -y
sudo apt install libsquish-dev -y
sudo apt install liblzma-dev -y
sudo apt install libgsf-1-dev -y
sudo apt install qtbase5-dev qttools5-dev qttools5-dev-tools
displayName: 'Dependencies'
- script: |
mkdir build
cmake --version
cd build
cmake -DWITH_STATIC=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=ON -DWITH_LUA51=OFF -DWITH_LUA52=ON -DWITH_RYZOM=ON -DWITH_RYZOM_SERVER=ON -DWITH_RYZOM_CLIENT=ON -DWITH_RYZOM_TOOLS=ON -DWITH_NEL_TOOLS=ON -DWITH_NELNS=ON -DWITH_NELNS_LOGIN_SYSTEM=ON -DWITH_NELNS_SERVER=ON -DWITH_QT5=ON -DWITH_LIBGSF=ON ..
cat CMakeCache.txt
displayName: 'CMake'
- script: |
cd build
make -j`nproc`
displayName: 'Make'
- 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: $(vmImage)
steps:
- checkout: self
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
displayName: '(windows) DirectX SDK'
condition: contains(variables['cmakeExtra'], 'DIRECT3D=ON')
- task: Cache@2
inputs:
key: 'hunter321b-$(releaseName)'
path: '$(Pipeline.Workspace)/.hunter/_Base/Cache'
- task: CMake@1
displayName: 'Configure'
inputs:
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:
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.StagingDirectory)/bin
# artifactName: RyzomClient$(releaseName)Release