Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test Conan GitHub Actions #1300

Draft
wants to merge 98 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
fc1d432
:construction: Replace vcpkg with conan
AnotherFoxGuy Aug 13, 2023
994ab9b
:package: Added scribe pkg
AnotherFoxGuy Aug 15, 2023
cbc15e3
:package: Added nvidia-texture-tools pkg
AnotherFoxGuy Aug 15, 2023
b960fbf
:package: Added polyvox pkg
AnotherFoxGuy Aug 15, 2023
559b084
:package: Added liblo pkg
AnotherFoxGuy Sep 17, 2023
68c6437
:wrench: Add conan profiles
AnotherFoxGuy Sep 17, 2023
4192e14
:package: Added qt config
AnotherFoxGuy Sep 17, 2023
ec60774
:package: Added libnode pkg
AnotherFoxGuy Sep 22, 2023
7c5adf3
:package: Added openvr pkg
AnotherFoxGuy Sep 22, 2023
2468063
:wrench: Updated conanfile
AnotherFoxGuy Sep 22, 2023
26ef119
:package: Added quazip pkg
AnotherFoxGuy Sep 22, 2023
9015aad
:bug: Fixed libnode pkg build
AnotherFoxGuy Sep 22, 2023
ef6105c
:wrench: Added older version of polyvox
AnotherFoxGuy Sep 22, 2023
8d37f2b
:construction: WIP build with conan
AnotherFoxGuy Sep 22, 2023
6b22ae8
:bug: Fixed libnode conan pkg build
AnotherFoxGuy Sep 23, 2023
562f0a2
:wrench: Downgrade draco
AnotherFoxGuy Sep 23, 2023
e8c50c8
:bug: Fixed shadergen unable to find tools
AnotherFoxGuy Sep 24, 2023
b7dc2b7
:bug: Fixed package_libraries_for_deployment()
AnotherFoxGuy Sep 24, 2023
39a1047
:bug: Fixed nvidia-texture-tools build settings
AnotherFoxGuy Sep 24, 2023
02b19bb
:bug: Fixed polyvox includedirs on linux
AnotherFoxGuy Sep 24, 2023
2a1cef1
:bug: Fixed broken libnode package
AnotherFoxGuy Sep 24, 2023
b9eda16
:construction_worker: Disabled gh-actions for now
AnotherFoxGuy Sep 24, 2023
9d35cfa
:wrench: Added tool to automatically update conan packages
AnotherFoxGuy Sep 25, 2023
238c291
:bug: Fixed FixupBundlePostBuild failing to find QT dlls
AnotherFoxGuy Sep 25, 2023
14a20b9
:bug: Fixed domain-server build
AnotherFoxGuy Sep 25, 2023
98c1ae4
:bug: Fixed texturetest build
AnotherFoxGuy Sep 25, 2023
83c353e
:bug: Fixed ktx-tool build
AnotherFoxGuy Sep 25, 2023
f676f7f
:bug: Fixed nitpick build
AnotherFoxGuy Sep 25, 2023
96c2916
:bug: Fixed render-texture-load build
AnotherFoxGuy Sep 25, 2023
af91363
:wrench: Disabled gpu-frame-player and vhacd-util
AnotherFoxGuy Sep 25, 2023
c658315
:construction_worker: Added a simple CI build
AnotherFoxGuy Sep 25, 2023
9e75c2d
:wrench: Removed unused bullet components
AnotherFoxGuy Sep 25, 2023
3c7780a
:construction_worker: Add missing QT install step
AnotherFoxGuy Sep 25, 2023
ba1ce8f
:bug: Fixed build failing when using Ninja
AnotherFoxGuy Sep 27, 2023
1740587
:wrench: Disabled webrtc completely
AnotherFoxGuy Sep 27, 2023
3396120
:green_heart: Fixed CI
AnotherFoxGuy Sep 27, 2023
0728fe2
:wrench: Move conan generated files to a subfolder
AnotherFoxGuy Sep 28, 2023
e5edb54
:wrench: Disabled unused SDL2 features
AnotherFoxGuy Oct 1, 2023
679f2fe
:wrench: Let cmake find the python3 executable
AnotherFoxGuy Oct 1, 2023
177d67d
Update OpenEXR to 3.1.9 and fix deprecation warnings
JulianGro Oct 2, 2023
c7fd180
Use python3 instead of python binary for configuring libnode on Linux
JulianGro Oct 2, 2023
a5bbe91
Allow building libnode on aarch64
JulianGro Oct 9, 2023
b713119
:bug: Fixed missing discord-rpc package
AnotherFoxGuy Nov 8, 2023
fcef317
:bug: Fixed missing lib in liblo conan pkg
AnotherFoxGuy Dec 8, 2023
f1b1e7f
:bug: Fixed missing WIN32 definition when building with ninja
AnotherFoxGuy Dec 8, 2023
657db4c
:bug: Fixed OpenVR failing to link on windows
AnotherFoxGuy Jan 22, 2024
7006a1d
:wrench: Reenabled build with WebRTC
AnotherFoxGuy Jan 22, 2024
edb7998
:package: Added SteamWorks Conan package
AnotherFoxGuy Jan 24, 2024
3b7c006
:package: Added OVR Conan package
AnotherFoxGuy Jan 24, 2024
a17d27a
:package: Added NeuronDataReader Conan package
AnotherFoxGuy Jan 24, 2024
9704afa
:package: Added GifCreator Conan package
AnotherFoxGuy Jan 24, 2024
46b3839
:fire: Removed external cmake packages
AnotherFoxGuy Jan 24, 2024
564b751
:wrench: Use conan packages instead of cmake external projects
AnotherFoxGuy Jan 24, 2024
d5ba6c7
:bug: Fixed dependencies on Linux
AnotherFoxGuy Feb 13, 2024
cf5f8b4
:wrench: Don't generate a qt.conf on Linux
AnotherFoxGuy Feb 23, 2024
ea70ba2
:construction_worker: Updated gh actions
AnotherFoxGuy Feb 24, 2024
fc4f5a6
:bug: Fixed building manual tests
AnotherFoxGuy Feb 25, 2024
4a19060
:bug: Fixed building tests
AnotherFoxGuy Feb 25, 2024
edd4332
:package: Added cgltf Conan package
AnotherFoxGuy Feb 26, 2024
ffd97d0
:bug: Fixed polyvox trying to build bindings
AnotherFoxGuy Feb 27, 2024
f650977
:bug: Fixed missing libraries on Linux
AnotherFoxGuy Feb 27, 2024
8a281e4
:wrench: Simplify FixupBundlePostBuild
AnotherFoxGuy Feb 27, 2024
c8c2d70
:arrow_up: Updated liblo and node package
AnotherFoxGuy Mar 1, 2024
8ef1941
:arrow_down: Downgraded GLM
AnotherFoxGuy Mar 18, 2024
294f257
:wrench: Disable WebRTC by default
AnotherFoxGuy May 25, 2024
a11f057
:arrow_up: Updated SDL to 2.30.3
AnotherFoxGuy Jun 9, 2024
0d0aea2
:arrow_up: Updated cgltf to 1.14
AnotherFoxGuy Jun 11, 2024
f752ea7
:wrench: Added artery-font-format
AnotherFoxGuy Jun 11, 2024
b449156
:arrow_up: Updated google-webrtc to 124
AnotherFoxGuy Jul 12, 2024
3b50575
:wrench: Use system OpenSSL on Linux
AnotherFoxGuy Sep 27, 2024
414f713
:wrench: Switch back to prebuild WebRTC for now
AnotherFoxGuy Sep 30, 2024
a17c6ec
:bug: Fixed VS 2022 build scripts
AnotherFoxGuy Nov 1, 2024
6ad41bb
:memo: Updated documentation
AnotherFoxGuy Nov 1, 2024
add0436
:wrench: Also generate RelWithDebInfo config on Linux
AnotherFoxGuy Dec 21, 2024
df8045d
Target only TBB, not the conan specific meta target onetbb:onetbb.
JulianGro Dec 22, 2024
fb59de1
Package cgltf as header-only library.
JulianGro Dec 22, 2024
1e09c65
:wrench: Updated conan overte remote url
AnotherFoxGuy Dec 23, 2024
a1e283e
Fix some issues building with Conan Qt.
JulianGro Jan 23, 2025
683df9c
Reenable GitHub Actions
JulianGro Jan 24, 2025
2fcceda
Update GitHub Actions for use with Conan.
JulianGro Jan 24, 2025
45f4ba8
Add KDE patchset Qt.
JulianGro Jan 24, 2025
437ac8a
Fix libnode building on Linux.
JulianGro Jan 24, 2025
8bd37b9
Update libnode.
JulianGro Jan 24, 2025
82541bd
Build libnode with llhttp provided by conan.
JulianGro Feb 19, 2025
0448eb3
Work around libnode not being linked on Linux.
JulianGro Feb 20, 2025
710a674
Update Debian packaging for Conan.
JulianGro Feb 23, 2025
1be9397
Update RPM packaging for Conan.
JulianGro Feb 24, 2025
ef3d73c
Remove more remnants of VCPKG.
JulianGro Feb 26, 2025
ea7cc22
Move Conan recipes to https://github.com/overte-org/overte-conan-recipes
JulianGro Feb 26, 2025
b80d6bd
Remove redundant setting of CXX compiler, as Conan already sets this.
JulianGro Feb 28, 2025
88f2a87
Clean up .gitignore.
JulianGro Feb 28, 2025
601efa5
Work around OpenSSL/system sometimes not being found.
JulianGro Feb 28, 2025
71a431e
Update pr_build.yml
JulianGro Feb 28, 2025
d6246e0
Update pr_build.yml
JulianGro Feb 28, 2025
c4bec15
Update pr_build.yml
JulianGro Feb 28, 2025
e121110
Update pr_build.yml
JulianGro Feb 28, 2025
3443a93
Update pr_build.yml
JulianGro Feb 28, 2025
9efa1cd
Update pr_build.yml
JulianGro Feb 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 59 additions & 48 deletions .github/workflows/linux_server_build.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Copyright 2013-2019 High Fidelity, Inc.
# Copyright 2020-2022 Vircadia contributors.
# Copyright 2021-2024 Overte e.V.
# Copyright 2021-2025 Overte e.V.
# SPDX-License-Identifier: Apache-2.0

name: Linux Server CI Build
# Keep in mind that GitHub Actions does not allow reading secrets during PR builds.

on:
pull_request:
types: [opened, synchronize, reopened, labeled]
types: [labeled]
push:
tags:
# Release tags. E.g. 2024.06.1
Expand All @@ -21,8 +21,6 @@ env:
UPLOAD_BUCKET: overte-public
UPLOAD_REGION: fra1
UPLOAD_ENDPOINT: "https://fra1.digitaloceanspaces.com"
# Disable VCPKG caching to save time.
VCPKG_FEATURE_FLAGS: -binarycaching

jobs:
build:
Expand All @@ -33,69 +31,81 @@ jobs:
matrix:
include:
- os: debian-11
image: docker.io/overte/overte-server-build:0.1.3-debian-11-amd64
image: docker.io/overte/overte-server-build:0.1.5-debian-11-amd64
arch: amd64
conan_qt: False
# https://github.com/testflows/TestFlows-GitHub-Hetzner-Runners/wiki/Meta-Labels
# self_hosted makes the Hetzner auto-scaler put up the job.
# type-cx52 is a Hetzner VPS server type. In this case cs52 is a server with 16-cores and 32GB of RAM.
# image-x86-app-docker-ce is a Hetzner image.
# https://github.com/testflows/TestFlows-GitHub-Hetzner-Runners/wiki/Specifying-The-Runner-Image
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]

- os: debian-11
image: docker.io/overte/overte-server-build:0.1.3-debian-11-aarch64
image: docker.io/overte/overte-server-build:0.1.5-debian-11-aarch64
arch: aarch64
conan_qt: False
runner: [self_hosted, type-cax41, image-arm-app-docker-ce]

- os: debian-12
image: docker.io/overte/overte-server-build:0.1.3-debian-12-amd64
image: docker.io/overte/overte-server-build:0.1.5-debian-12-amd64
arch: amd64
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
conan_qt: False
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]

- os: debian-12
image: docker.io/overte/overte-server-build:0.1.3-debian-12-aarch64
image: docker.io/overte/overte-server-build:0.1.5-debian-12-aarch64
arch: aarch64
conan_qt: False
runner: [self_hosted, type-cax41, image-arm-app-docker-ce]

- os: ubuntu-20.04
image: docker.io/overte/overte-server-build:0.1.3-ubuntu-20.04-amd64
image: docker.io/overte/overte-server-build:0.1.5-ubuntu-20.04-amd64
arch: amd64
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
conan_qt: True
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]

- os: ubuntu-22.04
image: docker.io/overte/overte-server-build:0.1.3-ubuntu-22.04-amd64
image: docker.io/overte/overte-server-build:0.1.5-ubuntu-22.04-amd64
arch: amd64
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
conan_qt: False
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]

- os: ubuntu-22.04
image: docker.io/overte/overte-server-build:0.1.3-ubuntu-22.04-aarch64
image: docker.io/overte/overte-server-build:0.1.5-ubuntu-22.04-aarch64
arch: aarch64
conan_qt: False
runner: [self_hosted, type-cax41, image-arm-app-docker-ce]

- os: ubuntu-24.04
image: docker.io/overte/overte-server-build:0.1.3-ubuntu-24.04-amd64
image: docker.io/overte/overte-server-build:0.1.5-ubuntu-24.04-amd64
arch: amd64
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
conan_qt: False
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]

- os: ubuntu-24.04
image: docker.io/overte/overte-server-build:0.1.3-ubuntu-24.04-aarch64
image: docker.io/overte/overte-server-build:0.1.5-ubuntu-24.04-aarch64
arch: aarch64
conan_qt: False
runner: [self_hosted, type-cax41, image-arm-app-docker-ce]

- os: fedora-40
image: docker.io/overte/overte-server-build:0.1.4-fedora-40-amd64
image: docker.io/overte/overte-server-build:0.1.5-fedora-40-amd64
arch: amd64
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
conan_qt: False
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]

- os: fedora-40
image: docker.io/overte/overte-server-build:0.1.4-fedora-40-aarch64
image: docker.io/overte/overte-server-build:0.1.5-fedora-40-aarch64
arch: aarch64
conan_qt: False
runner: [self_hosted, type-cax41, image-arm-app-docker-ce]

- os: rockylinux-9
image: docker.io/overte/overte-server-build:0.1.3-rockylinux-9-amd64
image: docker.io/overte/overte-server-build:0.1.5-rockylinux-9-amd64
arch: amd64
runner: [self_hosted, type-cx52, image-x86-app-docker-ce]
conan_qt: False
runner: [self_hosted, type-cpx41, image-x86-app-docker-ce]

fail-fast: false

Expand Down Expand Up @@ -125,6 +135,8 @@ jobs:
echo "REFNAME=${{ github.ref_name }}" >> $GITHUB_ENV

echo "JOB_NAME=${{matrix.os}}, ${{matrix.arch}}" >> $GITHUB_ENV
echo "CONAN_QT=${{matrix.conan_qt}}" >> $GITHUB_ENV
echo "CONAN_CPPSTD=gnu17" >> $GITHUB_ENV

echo "CMAKE_BUILD_EXTRA=-- -j$(nproc)" >> $GITHUB_ENV

Expand Down Expand Up @@ -154,7 +166,6 @@ jobs:

# Architecture specific variables
if [[ "${{ matrix.arch }}" = "aarch64" ]]; then
echo "VCPKG_FORCE_SYSTEM_BINARIES=true" >> $GITHUB_ENV
echo "CMAKE_EXTRA=-DOVERTE_CPU_ARCHITECTURE= -DSERVER_ONLY=true -DBUILD_TOOLS=true" >> $GITHUB_ENV
else # amd64
echo "CMAKE_EXTRA=-DOVERTE_CPU_ARCHITECTURE=-msse3 -DSERVER_ONLY=true -DBUILD_TOOLS=true" >> $GITHUB_ENV
Expand Down Expand Up @@ -222,55 +233,55 @@ jobs:
fi
fi


- uses: actions/checkout@v4
with:
submodules: false
fetch-depth: 1

- name: Create Build Environment
- name: Prepare Conan Build Environment
shell: bash
run: mkdir build
run: |
conan profile detect
conan remote add overte https://artifactory.overte.org/artifactory/api/conan/overte -f
echo "tools.system.package_manager:mode = install" >> ~/.conan2/global.conf

- name: Configure CMake
working-directory: build
- name: Install Conan dependencies
shell: bash
run: |
# Run twice to work around OpenSSL not being found. See: https://github.com/overte-org/overte-conan-recipes/issues/1
for counter in {1..n}; do
conan install . -s compiler.cppstd=$CONAN_CPPSTD -s build_type=$BUILD_TYPE -o '&:with_qt='${CONAN_QT^} -b missing -pr:b=default -of build --format=json > build.json
done

cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVCPKG_BUILD_TYPE=release $CMAKE_EXTRA

- name: Compress cmake logs
if: always()
- name: Upload Conan dependencies
continue-on-error: true
shell: bash
env:
CONAN_LOGIN_USERNAME_OVERTE: ${{ secrets.conan_login_username_overte }}
CONAN_PASSWORD_OVERTE: ${{ secrets.conan_password_overte }}
run: |
conan list --graph=build.json --graph-binaries=build --format=json > pkglist.json
conan upload --list=pkglist.json -r=overte -c || echo "Credentials cannot be accessed on remote Pull Request builds. Continuing…"

if [ ${{ env.CI_WORKSPACE }} ]; then
find "$CI_WORKSPACE/overte-files/vcpkg" -name '*log' -type f -print0 | tar --null --force-local -T - -c --xz -v -f "cmake-logs-${{ matrix.os }}-${{ matrix.arch }}-${{ github.event.number }}.tar.xz"
else
find "$HOME/overte-files/vcpkg" -name '*log' -type f -print0 | tar --null --force-local -T - -c --xz -v -f "cmake-logs-${{ matrix.os }}-${{ matrix.arch }}-${{ github.event.number }}.tar.xz"
fi

- name: Archive cmake logs
if: always()
uses: actions/upload-artifact@v4
with:
name: cmake-logs-${{ matrix.os }}-${{ matrix.arch }}-${{ github.event.number }}.tar.xz
path: cmake-logs-${{ matrix.os }}-${{ matrix.arch }}-${{ github.event.number }}.tar.xz
- name: Configure CMake
shell: bash
# This syntax requires CMake 3.23
run: cmake --preset conan-${BUILD_TYPE,,} $CMAKE_EXTRA

- name: Build Domain Server
working-directory: build
shell: bash
run: cmake --build . --config $BUILD_TYPE --target domain-server $CMAKE_BUILD_EXTRA
run: cmake --build . --target domain-server $CMAKE_BUILD_EXTRA

- name: Build Assignment Client
working-directory: build
shell: bash
run: cmake --build . --config $BUILD_TYPE --target assignment-client $CMAKE_BUILD_EXTRA
run: cmake --build . --target assignment-client $CMAKE_BUILD_EXTRA

- name: Build Oven
working-directory: build
shell: bash
run: cmake --build . --config $BUILD_TYPE --target oven $CMAKE_BUILD_EXTRA
run: cmake --build . --target oven $CMAKE_BUILD_EXTRA

- name: Package
working-directory: pkg-scripts
Expand Down
53 changes: 38 additions & 15 deletions .github/workflows/master_build.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Copyright 2013-2019 High Fidelity, Inc.
# Copyright 2020-2022 Vircadia contributors
# Copyright 2021-2024 Overte e.V.
# Copyright 2021-2025 Overte e.V.
# SPDX-License-Identifier: Apache-2.0

name: Master CI Build
Expand All @@ -14,10 +14,7 @@ env:
APP_NAME: interface
BUILD_TYPE: Release
BUILD_NUMBER: ${{ github.event.number }}_${{ github.sha }}
CI_BUILD: Github
GIT_COMMIT: ${{ github.sha }}
# VCPKG did not build well on OSX disabling HIFI_VCPKG_BOOTSTRAP, which invokes a download to a working version of vcpkg
# HIFI_VCPKG_BOOTSTRAP: true
RELEASE_TYPE: PRODUCTION
RELEASE_NUMBER: ${{ github.event.number }}_${{ github.sha }}
STABLE_BUILD: 0
Expand All @@ -26,8 +23,6 @@ env:
UPLOAD_ENDPOINT: "https://fra1.digitaloceanspaces.com"
CMAKE_BACKTRACE_URL: ${{ secrets.SENTRY_MINIDUMP_ENDPOINT }}
CMAKE_BACKTRACE_TOKEN: master_${{ github.event.number }}_${{ github.sha }}
# Disable VCPKG caching to save time.
VCPKG_FEATURE_FLAGS: -binarycaching

# OSX-specific variables
DEVELOPER_DIR: /Applications/Xcode_11.2.app/Contents/Developer
Expand All @@ -40,15 +35,19 @@ env:

jobs:
build:
name: "${{matrix.os}}"
strategy:
matrix:
include:
- os: windows-2019
build_type: full
conan_qt: True
#- os: macOS-10.15
# build_type: full
# conan_qt: True
#- os: ubuntu-20.04
# build_type: full
# conan_qt: True
# apt-dependencies: mesa-common-dev libegl1 libglvnd-dev libdouble-conversion3 libpulse0 libsnappy1v5 libwebpdemux2 libwebpmux3 python3-github python3-distro
fail-fast: false
runs-on: ${{matrix.os}}
Expand All @@ -68,8 +67,10 @@ jobs:
echo "{github_sha_short}={`echo $GIT_COMMIT | cut -c1-7`}" >> $GITHUB_OUTPUT
echo "JOB_NAME=build (${{matrix.os}}, ${{matrix.build_type}})" >> $GITHUB_ENV
echo "APP_TARGET_NAME=$APP_NAME" >> $GITHUB_ENV
echo "CONAN_QT=${{matrix.conan_qt}}" >> $GITHUB_ENV
# Linux build variables
if [[ "${{ matrix.os }}" = "ubuntu-"* ]]; then
echo "CONAN_CPPSTD=gnu17" >> $GITHUB_ENV
echo "PYTHON_EXEC=python3" >> $GITHUB_ENV
echo "INSTALLER_EXT=tgz" >> $GITHUB_ENV
echo "CMAKE_BUILD_EXTRA=-- -j$(nproc)" >> $GITHUB_ENV
Expand All @@ -87,6 +88,7 @@ jobs:
fi
# Windows build variables
if [ "${{ matrix.os }}" = "windows-2019" ]; then
echo "CONAN_CPPSTD=17" >> $GITHUB_ENV
echo "PYTHON_EXEC=python" >> $GITHUB_ENV
echo "ZIP_COMMAND=7z" >> $GITHUB_ENV
echo "ZIP_ARGS=a" >> $GITHUB_ENV
Expand Down Expand Up @@ -166,36 +168,57 @@ jobs:
- name: Install Python modules
if: startsWith(matrix.os, 'windows') || startsWith(matrix.os, 'macOS')
shell: bash
run: $PYTHON_EXEC -m pip install boto3 PyGithub
run: $PYTHON_EXEC -m pip install boto3 PyGithub conan

- name: Create build environment
- name: Prepare Conan Build Environment
shell: bash
run: cmake -E make_directory "${{runner.workspace}}/build"
run: |
conan profile detect
conan remote add overte https://artifactory.overte.org/artifactory/api/conan/overte -f
echo "tools.system.package_manager:mode = install" >> ~/.conan2/global.conf

- name: Install Conan dependencies
shell: bash
run: |
# Run twice to work around OpenSSL not being found. See: https://github.com/overte-org/overte-conan-recipes/issues/1
for counter in {1..n}; do
conan install . -s compiler.cppstd=$CONAN_CPPSTD -s build_type=$BUILD_TYPE -o '&:with_qt='${CONAN_QT^} -b missing -pr:b=default -of build --format=json > build.json
done

- name: Upload Conan dependencies
continue-on-error: true
shell: bash
env:
CONAN_LOGIN_USERNAME_OVERTE: ${{ secrets.conan_login_username_overte }}
CONAN_PASSWORD_OVERTE: ${{ secrets.conan_password_overte }}
run: |
conan list --graph=build.json --graph-binaries=build --format=json > pkglist.json
conan upload --list=pkglist.json -r=overte -c

- name: Configure CMake
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVCPKG_BUILD_TYPE=release -DCLIENT_ONLY:BOOLEAN=$CLIENT_ONLY -DBYPASS_SIGNING:BOOLEAN=TRUE $CMAKE_EXTRA
# This syntax requires CMake 3.23
run: cmake --preset conan-${BUILD_TYPE,,} -DCLIENT_ONLY:BOOLEAN=$CLIENT_ONLY -DBYPASS_SIGNING:BOOLEAN=TRUE $CMAKE_EXTRA

- name: Build application
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config $BUILD_TYPE --target $APP_TARGET_NAME $CMAKE_BUILD_EXTRA
run: cmake --build . --target $APP_TARGET_NAME $CMAKE_BUILD_EXTRA

- name: Build domain server
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config $BUILD_TYPE --target domain-server $CMAKE_BUILD_EXTRA
run: cmake --build . --target domain-server $CMAKE_BUILD_EXTRA

- name: Build assignment client
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config $BUILD_TYPE --target assignment-client $CMAKE_BUILD_EXTRA
run: cmake --build . --target assignment-client $CMAKE_BUILD_EXTRA

- name: Build console
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config $BUILD_TYPE --target packaged-server-console $CMAKE_BUILD_EXTRA
run: cmake --build . --target packaged-server-console $CMAKE_BUILD_EXTRA

- name: Build installer
working-directory: ${{runner.workspace}}/build
Expand Down
Loading
Loading