chore(sentry): wire source-map + DIF uploads to self-hosted Sentry (#2106)

This commit is contained in:
Steven Enamakel
2026-05-18 06:33:22 -07:00
committed by GitHub
parent 70fdedcdd4
commit f2929f6bc6
6 changed files with 17 additions and 0 deletions
+4
View File
@@ -217,6 +217,10 @@ OPENHUMAN_SKILLS_WORKING_MEMORY_ENABLED=true
# `VITE_SENTRY_DSN`. The legacy unprefixed name `OPENHUMAN_SENTRY_DSN` is
# still accepted as a fallback during the transition.
OPENHUMAN_CORE_SENTRY_DSN=
# [optional] Override the Sentry server URL. Defaults to sentry.io if unset.
# Set to https://sentry.tinyhumans.ai for the self-hosted instance — used by
# sentry-cli (symbol/release uploads) and the @sentry/vite-plugin.
SENTRY_URL=
# [optional] Short git SHA baked into the Sentry release tag
# (`openhuman@<version>+<sha>`) via `option_env!("OPENHUMAN_BUILD_SHA")`.
# CI sets this automatically; leave blank locally (release tag falls back
+4
View File
@@ -398,6 +398,7 @@ jobs:
# here would tag uploads against a different release than events.
SENTRY_RELEASE: openhuman@${{ inputs.version }}+${{ inputs.short_sha }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_URL: ${{ vars.SENTRY_URL }}
SENTRY_ORG: ${{ vars.SENTRY_ORG }}
# SENTRY_PROJECT here is consumed by sentry-vite-plugin during the
# Vite build that runs inside `cargo tauri build` — it uploads
@@ -489,6 +490,7 @@ jobs:
shell: bash
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_URL: ${{ vars.SENTRY_URL }}
run: node scripts/release/verify-sentry-sourcemaps.mjs
# ---- Sentry DIF uploads ------------------------------------------------
@@ -504,6 +506,7 @@ jobs:
shell: bash
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_URL: ${{ vars.SENTRY_URL }}
SENTRY_ORG: ${{ vars.SENTRY_ORG }}
SENTRY_PROJECT: ${{ vars.SENTRY_PROJECT_TAURI }}
SENTRY_RELEASE: openhuman@${{ inputs.version }}+${{ inputs.short_sha }}
@@ -533,6 +536,7 @@ jobs:
shell: bash
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_URL: ${{ vars.SENTRY_URL }}
SENTRY_ORG: ${{ vars.SENTRY_ORG }}
SENTRY_PROJECT: ${{ vars.SENTRY_PROJECT_CORE }}
SENTRY_RELEASE: openhuman@${{ inputs.version }}+${{ inputs.short_sha }}
+2
View File
@@ -727,6 +727,7 @@ jobs:
needs: [prepare-build, publish-release]
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_URL: ${{ vars.SENTRY_URL }}
steps:
- name: Install sentry-cli
if: env.SENTRY_AUTH_TOKEN != ''
@@ -736,6 +737,7 @@ jobs:
if: env.SENTRY_AUTH_TOKEN != ''
shell: bash
env:
SENTRY_URL: ${{ vars.SENTRY_URL }}
SENTRY_ORG: ${{ vars.SENTRY_ORG }}
# Marker lives on the React project's release; events from all
# surfaces share the same `openhuman@<version>+<short_sha>` release
+2
View File
@@ -317,6 +317,7 @@ jobs:
needs: [prepare-build, build-desktop, build-docker]
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_URL: ${{ vars.SENTRY_URL }}
steps:
- name: Install sentry-cli
if: env.SENTRY_AUTH_TOKEN != ''
@@ -326,6 +327,7 @@ jobs:
if: env.SENTRY_AUTH_TOKEN != ''
shell: bash
env:
SENTRY_URL: ${{ vars.SENTRY_URL }}
SENTRY_ORG: ${{ vars.SENTRY_ORG }}
# Marker lives on the React project's release; events from all
# surfaces share the same `openhuman@<version>+<short_sha>` release
+1
View File
@@ -55,6 +55,7 @@ VITE_BUILD_SHA=
# `@sentry/vite-plugin`. Leave blank locally; the plugin skips when
# `SENTRY_AUTH_TOKEN` is empty.
# SENTRY_AUTH_TOKEN=
# SENTRY_URL= # https://sentry.tinyhumans.ai for self-hosted; defaults to sentry.io
# SENTRY_ORG=
# SENTRY_PROJECT=
# SENTRY_RELEASE=
+4
View File
@@ -41,6 +41,10 @@ function maybeSentryPlugin(): PluginOption | null {
if (!authToken) return null;
return sentryVitePlugin({
authToken,
// Self-hosted Sentry — without `url`, the plugin defaults to sentry.io
// and silently no-ops the upload. Falls back to sentry.io if unset for
// local builds against the SaaS instance.
url: process.env.SENTRY_URL,
org: process.env.SENTRY_ORG,
project: process.env.SENTRY_PROJECT,
release: {