#!/usr/bin/env bash set -euo pipefail : "${SENTRY_AUTH_TOKEN:?SENTRY_AUTH_TOKEN is required for source-map upload}" SENTRY_ORG="${SENTRY_ORG:-seahaven}" SENTRY_PROJECT="${SENTRY_PROJECT:-shoc-frontend}" COMMIT_SHA="${VITE_APP_COMMIT_SHA:-${GITHUB_SHA:-}}" RELEASE_LABEL="${SENTRY_RELEASE:-${RELEASE_LABEL:-}}" if [[ -n "${RELEASE_LABEL}" ]]; then RELEASE="${RELEASE_LABEL}" else if [[ ! "${COMMIT_SHA}" =~ ^[0-9a-fA-F]{40}$ ]]; then echo "::error::Source-map upload requires a 40-character VITE_APP_COMMIT_SHA or GITHUB_SHA." >&2 exit 1 fi COMMIT_SHA="$(printf '%s' "${COMMIT_SHA}" | tr '[:upper:]' '[:lower:]')" RELEASE="shoc-frontend@${COMMIT_SHA}" fi npm exec --no -- sentry-cli sourcemaps upload \ --org "${SENTRY_ORG}" \ --project "${SENTRY_PROJECT}" \ --release "${RELEASE}" \ --url-prefix "~/" \ --validate \ dist