Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/actions/conan-install/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,5 @@ runs:
run: |
# Run twice to work around OpenSSL not being found. See: https://github.com/overte-org/overte-conan-recipes/issues/1
# `--format=json > build.json` creates a graph of dependencies, which can later be used to check for cache misses.
conan install . -s compiler.cppstd=${{ inputs.cppstd }} -s build_type=${{ inputs.build_type }} -o 'Overte/*:qt_source='${{ inputs.qt_source }} -b missing -pr=${{ inputs.conan_profile }} -of build --format=json > build.json
conan install . -s compiler.cppstd=${{ inputs.cppstd }} -s build_type=${{ inputs.build_type }} -o 'Overte/*:qt_source='${{ inputs.qt_source }} -b missing -pr=${{ inputs.conan_profile }} -of build --format=json > build.json || echo "Command failed. Retrying in case this is https://github.com/overte-org/overte-conan-recipes/issues/1"
conan install . -s compiler.cppstd=${{ inputs.cppstd }} -s build_type=${{ inputs.build_type }} -o 'Overte/*:qt_source='${{ inputs.qt_source }} -b missing -pr=${{ inputs.conan_profile }} -of build
14 changes: 14 additions & 0 deletions .github/actions/sentry-debugging-symbols/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: "Upload debugging symbols to Sentry"
description: |
Uses Sentry-cli to upload debugging symbols to Sentry.
inputs:
SENTRY_DEBUG_TOKEN:
required: true
description: "Access token for uploading debugging symbols to Sentry."
runs:
using: "composite"
steps:
- name: Upload debugging symbols to Sentry
shell: bash
run: |
sentry-cli debug-files upload -o overte -p overte --include-sources --wait-for 120 --auth-token ${{ inputs.SENTRY_DEBUG_TOKEN }} build/
4 changes: 4 additions & 0 deletions .github/actions/setup-macos/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,7 @@ runs:
shell: bash
run: |
python3 -m pip install boto3 PyGithub conan html5lib setuptools

- name: Install Sentry-cli
shell: bash
run: curl -sL https://sentry.io/get-cli/ | SENTRY_CLI_VERSION="3.6.0" sh
6 changes: 5 additions & 1 deletion .github/actions/setup-windows/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ runs:
shell: bash
run: |
if [[ "${{ matrix.os }}" = "Windows 2022" ]]; then
echo "CONAN_PROFILE='./tools/conan-profiles/vs-22-release'" >> $GITHUB_ENV
echo "CONAN_PROFILE='./tools/conan-profiles/vs-22-relwithdebinfo'" >> $GITHUB_ENV
else
echo "Not sure which Conan profile to use. Exiting." && exit 1
fi
Expand Down Expand Up @@ -66,3 +66,7 @@ runs:
echo "Printing Conan global.conf…" && cat ${CONAN_HOME}/global.conf
echo "Printing Conan remotes.json…" && cat ${CONAN_HOME}/remotes.json
echo "Printing Conan source_credentials.json…" && cat ${CONAN_HOME}/source_credentials.json

- name: Install Sentry-cli
shell: bash
run: curl -sL https://sentry.io/get-cli/ | SENTRY_CLI_VERSION="3.6.0" sh
42 changes: 29 additions & 13 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,46 +66,47 @@ jobs:
- id: windows
os: Windows 2022
# We use a third-party runner hosted by depot.dev to avoid timing out in case Qt has to be built from source.
runner: depot-windows-2022-16 # Which GitHub Actions Runner to use. When using `image` this just needs to run the build container.
# depot-windows-2022-1 runs out of disk space when building RelWithDebInfo Qt.
runner: depot-windows-2022-32 # Which GitHub Actions Runner to use. When using `image` this just needs to run the build container.
arch: x86_64
cmake_build_type: Release
cmake_build_type: RelWithDebInfo
qt_source: source # Which Qt Conan package to use. `system`, `source`, or `aqt`.
rendering_backend: OpenGL # Which OVERTE_RENDERING_BACKEND to build.
- id: ubuntu-opengl-amd64
os: Ubuntu 22.04
image: docker.io/overte/overte-full-build:2026-06-21-ubuntu-22.04-amd64 # Container image used for building. Built from /tools/ci-script/linux-ci/Dockerfile_x
image: docker.io/overte/overte-full-build:2026-07-17-ubuntu-22.04-amd64 # Container image used for building. Built from /tools/ci-script/linux-ci/Dockerfile_x
runner: depot-ubuntu-24.04-16
arch: amd64
cmake_build_type: Release
cmake_build_type: RelWithDebInfo
qt_source: source
rendering_backend: OpenGL
- id: ubuntu-vulkan-amd64
os: Ubuntu 22.04
image: docker.io/overte/overte-full-build:2026-06-21-ubuntu-22.04-amd64
image: docker.io/overte/overte-full-build:2026-07-17-ubuntu-22.04-amd64
runner: depot-ubuntu-24.04-16
arch: amd64
cmake_build_type: Release
cmake_build_type: RelWithDebInfo
qt_source: source
rendering_backend: Vulkan
- id: ubuntu-opengl-aarch64
os: Ubuntu 22.04
image: docker.io/overte/overte-full-build:2026-06-21-ubuntu-22.04-aarch64
image: docker.io/overte/overte-full-build:2026-07-17-ubuntu-22.04-aarch64
runner: depot-ubuntu-24.04-arm-16
arch: aarch64
cmake_build_type: Release
cmake_build_type: RelWithDebInfo
qt_source: source
rendering_backend: OpenGL
- id: ubuntu-vulkan-aarch64
os: Ubuntu 22.04
image: docker.io/overte/overte-full-build:2026-06-21-ubuntu-22.04-aarch64
image: docker.io/overte/overte-full-build:2026-07-17-ubuntu-22.04-aarch64
runner: depot-ubuntu-24.04-arm-16
arch: aarch64
cmake_build_type: Release
cmake_build_type: RelWithDebInfo
qt_source: source
rendering_backend: Vulkan
- id: codechecker
os: Ubuntu 22.04
image: docker.io/overte/overte-full-build:2026-06-21-ubuntu-22.04-amd64
image: docker.io/overte/overte-full-build:2026-07-17-ubuntu-22.04-amd64
# depot-ubuntu-24.04-16 runs out of disk space when building debug Qt.
runner: depot-ubuntu-24.04-32
arch: amd64
Expand Down Expand Up @@ -152,10 +153,15 @@ jobs:
echo "OVERTE_RELEASE_TYPE=PR" >> $GITHUB_ENV
echo "OVERTE_RELEASE_NUMBER=${{ github.event.number }}" >> $GITHUB_ENV
echo "GIT_COMMIT_SHORT=${PULL_REQUEST_SHA::7}" >> $GITHUB_ENV
echo "OVERTE_BACKTRACE_URL=https://o4504831972343808.ingest.sentry.io/api/4504832427950080/minidump/?sentry_key=f511de295975461b8f92a36f4a4a4f32" >> $GITHUB_ENV
echo "OVERTE_BACKTRACE_TOKEN=PR_${{ github.event.number }}_${PULL_REQUEST_SHA::7}" >> $GITHUB_ENV

elif [ "${{github.event_name}}" = "push" ] && [ "${{github.event.action}}" == "tag" ]; then
echo "OVERTE_RELEASE_TYPE=RELEASE" >> $GITHUB_ENV
echo "OVERTE_RELEASE_NUMBER=${{ github.ref_name }}" >> $GITHUB_ENV
echo "GIT_COMMIT_SHORT=${GITHUB_SHA::7}" >> $GITHUB_ENV
echo "OVERTE_BACKTRACE_URL=${{ secrets.SENTRY_MINIDUMP_ENDPOINT }}" >> $GITHUB_ENV
echo "OVERTE_BACKTRACE_TOKEN=${{ github.ref_name }}_${GITHUB_SHA::7}" >> $GITHUB_ENV
if [[ "${{ github.ref_name }}" == *"rc"* ]]; then # release candidate
# The uploader already creates a subfolder for each RELEASE_NUMBER.
echo "UPLOAD_PREFIX=build/overte/release-candidate/" >> $GITHUB_ENV
Expand All @@ -167,6 +173,8 @@ jobs:
# Nightlies ignore OVERTE_RELEASE_NUMBER and instead use the build date.
echo "OVERTE_RELEASE_NUMBER=''" >> $GITHUB_ENV
echo "GIT_COMMIT_SHORT=${GITHUB_SHA::7}" >> $GITHUB_ENV
echo "OVERTE_BACKTRACE_URL=${{ secrets.SENTRY_MINIDUMP_ENDPOINT }}" >> $GITHUB_ENV
echo "OVERTE_BACKTRACE_TOKEN=Nightly-$(date +%Y-%m-%d)_${GITHUB_SHA::7}" >> $GITHUB_ENV
else
echo "Unexpected Action event! Failing…"
exit 1;
Expand Down Expand Up @@ -243,9 +251,9 @@ jobs:
shell: bash
run: |
if [[ "${{ matrix.os }}" =~ "Windows" ]]; then
cmake --preset conan-default -DOVERTE_RENDERING_BACKEND=${{ matrix.rendering_backend }} -DOVERTE_RELEASE_NUMBER=$OVERTE_RELEASE_NUMBER -DOVERTE_GIT_COMMIT_SHORT=$GIT_COMMIT_SHORT -DOVERTE_RELEASE_TYPE=$OVERTE_RELEASE_TYPE $CMAKE_EXTRA
cmake --preset conan-default -DOVERTE_RENDERING_BACKEND=${{ matrix.rendering_backend }} -DOVERTE_RELEASE_NUMBER=$OVERTE_RELEASE_NUMBER -DOVERTE_GIT_COMMIT_SHORT=$GIT_COMMIT_SHORT -DOVERTE_RELEASE_TYPE=$OVERTE_RELEASE_TYPE -DOVERTE_BACKTRACE_URL=$OVERTE_BACKTRACE_URL -DOVERTE_BACKTRACE_TOKEN=$OVERTE_BACKTRACE_TOKEN $CMAKE_EXTRA
else
cmake --preset conan-${CMAKE_BUILD_TYPE,,} -DOVERTE_RENDERING_BACKEND=${{ matrix.rendering_backend }} -DOVERTE_RELEASE_NUMBER=$OVERTE_RELEASE_NUMBER -DOVERTE_GIT_COMMIT_SHORT=$GIT_COMMIT_SHORT -DOVERTE_RELEASE_TYPE=$OVERTE_RELEASE_TYPE $CMAKE_EXTRA
cmake --preset conan-${CMAKE_BUILD_TYPE,,} -DOVERTE_RENDERING_BACKEND=${{ matrix.rendering_backend }} -DOVERTE_RELEASE_NUMBER=$OVERTE_RELEASE_NUMBER -DOVERTE_GIT_COMMIT_SHORT=$GIT_COMMIT_SHORT -DOVERTE_RELEASE_TYPE=$OVERTE_RELEASE_TYPE -DOVERTE_BACKTRACE_URL=$OVERTE_BACKTRACE_URL -DOVERTE_BACKTRACE_TOKEN=$OVERTE_BACKTRACE_TOKEN $CMAKE_EXTRA
fi

- name: Run CodeChecker static analysis
Expand Down Expand Up @@ -318,6 +326,14 @@ jobs:
shell: bash
run: cmake --build --target packaged-server-console --preset conan-${CMAKE_BUILD_TYPE,,}

- name: Upload debugging symbols to Sentry
# We don't have access to the access token on Pull Request builds.
if: github.event_name != 'pull_request'
continue-on-error: true
uses: ./.github/actions/sentry-debugging-symbols
with:
SENTRY_DEBUG_TOKEN: ${{ secrets.SENTRY_DEBUG_UPLOAD_TOKEN }}

- name: Build installer
shell: bash
run: |
Expand Down
10 changes: 5 additions & 5 deletions .idea/cmake.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions BUILD.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<!--
Copyright 2013-2019 High Fidelity, Inc.
Copyright 2020-2021 Vircadia contributors
Copyright 2021-2025 Overte e.V.
Copyright 2021-2026 Overte e.V.
SPDX-License-Identifier: Apache-2.0
-->

# General Build Information

*Last Updated on 2025-03-17*
*Last Updated on 2026-07-29*

## OS Specific Build Guides

Expand Down Expand Up @@ -78,6 +78,8 @@ BUILD_GLOBAL_SERVICES=STABLE
#### Possible CMake Variables

```text
// Build with crash reporting.
OVERTE_USE_SENTRY
// The URL to post the dump to.
OVERTE_BACKTRACE_URL
// The identifying tag of the release.
Expand Down
8 changes: 4 additions & 4 deletions BUILD_LINUX.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ SPDX-License-Identifier: Apache-2.0

# Build Linux

*Last Updated on 2026-04-16*
*Last Updated on 2026-07-17*

Please read the [general build guide](BUILD.md) for information on dependencies required for all platforms. Only Linux specific instructions are found in this file.

Expand Down Expand Up @@ -119,10 +119,10 @@ If you don't do this, Conan will still complain if it notices system packages be
Install the dependencies with conan
```bash
cd overte
conan install . -s build_type=Release -b missing -pr:a=tools/conan-profiles/linux -of build -c tools.cmake.cmaketoolchain:generator="Ninja Multi-Config"
conan install . -s build_type=RelWithDebInfo -b missing -pr:a=tools/conan-profiles/linux -of build -c tools.cmake.cmaketoolchain:generator="Ninja Multi-Config"
```

If you want to build Debug or RelWithDebInfo versions, change the `build_type` to `Debug` or `RelWithDebInfo` and run the command again. E.g.:
If you want to build Debug or Release versions, change the `build_type` to `Debug` or `Release` and run the command again. E.g.:
```bash
conan install . -s build_type=Debug -b missing -pr:a=tools/conan-profiles/linux -of build -c tools.cmake.cmaketoolchain:generator="Ninja Multi-Config"
```
Expand All @@ -136,7 +136,7 @@ cmake --preset conan-default

To compile the Domain server:
```bash
cmake --build --preset conan-release --target domain-server assignment-client
cmake --build --preset conan-relwithdebinfo --target domain-server assignment-client
```

*Note: For a server, it is not necessary to compile the Interface.*
Expand Down
6 changes: 3 additions & 3 deletions BUILD_WIN.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ SPDX-License-Identifier: Apache-2.0

# Build Windows

*Last Updated on 2025-08-01*
*Last Updated on 2026-07-15*

This is a stand-alone guide for creating your first Overte build for Windows 64-bit.

Expand Down Expand Up @@ -97,7 +97,7 @@ Run the Command Prompt from Start and run the following commands:

```bash
cd "%OVERTE_DIR%"
conan install . -b missing -pr=tools/conan-profiles/vs-22-release -of build
conan install . -b missing -pr=tools/conan-profiles/vs-22-relwithdebinfo -of build
conan install . -b missing -pr=tools/conan-profiles/vs-22-debug -of build
cmake --preset conan-default
```
Expand Down Expand Up @@ -188,4 +188,4 @@ To fix this, install "C++ vXX.XX (...) ATL (...)" replacing XX.XX with the first
### `warning : cannot resolve item 'api-ms-win-(...)-l1-1-0.dll'`

You may be able to ignore this warning. My assumption is that the MSVC version used is incompatible with the currently installed Windows SDK,
and Overte will just use the newer SDK during runtime.
and Overte will just use the newer SDK during runtime.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ set(OVERTE_USE_OPTIMIZED_IK OFF CACHE BOOL "Use optimized IK.")
set(OVERTE_DISABLE_KTX_CACHE OFF CACHE BOOL "Disable KTX Cache.")
set(OVERTE_USE_KHR_ROBUSTNESS OFF CACHE BOOL "Use KHR_robustness.")
set(OVERTE_USE_SYSTEM_LIBS OFF CACHE BOOL "Build with system dependencies.")

set(OVERTE_USE_SENTRY OFF CACHE BOOL "Build with Sentry crash reporting.")
set(OVERTE_BACKTRACE_URL "" CACHE STRING "URL to an endpoint for uploading crash-dumps. For example Sentry.")
set(OVERTE_BACKTRACE_TOKEN "" CACHE STRING "Token used to identify this build, for use in uploading crash-dumps.")

Expand Down
3 changes: 1 addition & 2 deletions assignment-client/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@ link_hifi_libraries(
include_hifi_library_headers(procedural)
include_hifi_library_headers(entities)

add_crashpad()
target_breakpad()
add_sentry()

if (OVERTE_BUILD_TOOLS)
add_dependencies(${TARGET_NAME} oven)
Expand Down
Loading
Loading