From 6980b09e45d179e0100c99ae6d4b10b3f086b1f7 Mon Sep 17 00:00:00 2001 From: neodk2004 Date: Fri, 14 Aug 2026 07:18:17 +0200 Subject: [PATCH] fix(deploy): resolve Sentry sourcemap upload release name via git SHA build arg .git is excluded from the Docker build context (.dockerignore), so @sentry/nextjs can't auto-detect a release via git and falls back to the literal string "undefined" for --release, which made the sourcemaps upload command fail with exit code 1 (confirmed via verbose build log). start.sh now resolves the short SHA on the host and passes it through as a SENTRY_RELEASE build arg, same pattern as the other Sentry vars. --- docker/Dockerfile | 2 ++ docker/docker-compose.yml | 6 ++++++ docker/start.sh | 5 +++++ 3 files changed, 13 insertions(+) diff --git a/docker/Dockerfile b/docker/Dockerfile index d366ac9..28b6257 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -29,6 +29,7 @@ ARG NEXT_PUBLIC_SENTRY_DSN ARG SENTRY_ORG ARG SENTRY_PROJECT ARG SENTRY_AUTH_TOKEN +ARG SENTRY_RELEASE ENV NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=$NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY ENV NEXT_PUBLIC_SUPABASE_URL=$NEXT_PUBLIC_SUPABASE_URL @@ -36,6 +37,7 @@ ENV NEXT_PUBLIC_SENTRY_DSN=$NEXT_PUBLIC_SENTRY_DSN ENV SENTRY_ORG=$SENTRY_ORG ENV SENTRY_PROJECT=$SENTRY_PROJECT ENV SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN +ENV SENTRY_RELEASE=$SENTRY_RELEASE ENV NEXT_TELEMETRY_DISABLED=1 RUN npx prisma generate diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index b677114..e9efe37 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -24,6 +24,12 @@ services: SENTRY_ORG: ${SENTRY_ORG} SENTRY_PROJECT: ${SENTRY_PROJECT} SENTRY_AUTH_TOKEN: ${SENTRY_AUTH_TOKEN} + # Resolves the sourcemap upload's release name. .git is excluded from + # the build context (see .dockerignore), so @sentry/nextjs can't + # auto-detect it via git and falls back to a literal "undefined" + # string, which GlitchTip's sourcemaps upload rejects. start.sh sets + # this from `git rev-parse --short HEAD` on the host before building. + SENTRY_RELEASE: ${SENTRY_RELEASE} image: pawfeed:latest container_name: pawfeed restart: unless-stopped diff --git a/docker/start.sh b/docker/start.sh index a288a8f..4ce1a34 100644 --- a/docker/start.sh +++ b/docker/start.sh @@ -11,5 +11,10 @@ if [ ! -f .env ]; then exit 1 fi +# Sentry/GlitchTip sourcemap upload needs a release name at build time. +# .git is excluded from the Docker build context, so it's resolved here +# on the host (where .git exists) and passed through as a build arg. +export SENTRY_RELEASE="$(git -C .. rev-parse --short HEAD)" + docker compose up -d --build echo "PawFeed is starting on http://localhost:4563"