Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
385a22a
Update libnode to 22.23.1 and fix RelWithDebInfo builds.
JulianGro Jul 17, 2026
dee94c5
Fix usage of conan-relwithdebinfo in CLion.
JulianGro Jul 17, 2026
d58689b
Switch to RelWithDebInfo builds.
JulianGro Jul 17, 2026
38015c0
Fix maybe-uninitialized warning on GCC-11 with RelWithDebInfo.
JulianGro Jul 17, 2026
7e275e4
Remove outdated Visual Studio 2019 files.
JulianGro Jul 17, 2026
47ae941
Upload debugging symbols to Sentry and enable crash reporting.
JulianGro Jul 17, 2026
0e9a015
Fix backtrace token and backtrace URL not being applied.
JulianGro Jul 22, 2026
5244e15
Add Sentry-Native.
JulianGro Aug 3, 2026
2d01ac6
Initial Sentry implementation
Aug 7, 2026
baa1191
Remove previous Crashpad and Breakpad implementation
Aug 7, 2026
db780ad
Refactor the structure of the crash handler
Aug 8, 2026
11cc540
Enable crash handler as early as possible
Aug 8, 2026
85852a8
Call them "tags", not "annotations", less confusion with Sentry
Aug 8, 2026
e77f94d
Send build time and type
Aug 8, 2026
721bc60
Improve crash recovery screen
Aug 8, 2026
ed7546c
Implement support tag
Aug 8, 2026
7deb3bb
Improve Sentry consent handling
Aug 8, 2026
16cfde9
Add metadata to Sentry logs
Aug 8, 2026
b3ca186
Add more hardware info to crash reports
Aug 8, 2026
82c5960
Add display name to crash reports
Aug 9, 2026
eb363e5
Add contexts support to crash handler
Aug 9, 2026
79cdc5d
Fix crash handler setting storage
Aug 10, 2026
601de1d
Add stats and log streaming to the menu
Aug 10, 2026
c4c8e73
Hack around some bug in the menu checkbox code.
Aug 10, 2026
2ec8522
Attach log file to crash report
Aug 10, 2026
603e1ac
Add crash handler scripting interface
Aug 10, 2026
5ee8f83
Add crash handler include guards
Aug 10, 2026
23a11e5
Store crash reports in application specific directory
Aug 10, 2026
5d7ba40
Remove some debug log entries
Aug 10, 2026
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
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
39 changes: 27 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,44 +68,44 @@ jobs:
# 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.
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 +152,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 +172,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 +250,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 +325,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
2 changes: 1 addition & 1 deletion assignment-client/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ link_hifi_libraries(
include_hifi_library_headers(procedural)
include_hifi_library_headers(entities)

add_crashpad()
add_sentry()
target_breakpad()

if (OVERTE_BUILD_TOOLS)
Expand Down
62 changes: 0 additions & 62 deletions cmake/macros/AddCrashpad.cmake

This file was deleted.

Loading
Loading