Skip to content

Commit 9fb9ac6

Browse files
committed
sentry: add sourcemaps to frontend and print
Add .cache/npm/sentry-cli to cache. Add it with a .gitkeep file that the permissions are set correctly. Move the .gitkeep instruction from e2e up to the top level .gitignore. It may be that you need to delete your node_modules folders for frontend and print after this commit.
1 parent 2fbdbbb commit 9fb9ac6

21 files changed

+596
-20
lines changed

.cache/npm/sentry-cli/.gitkeep

Whitespace-only changes.

.docker-hub/frontend/Dockerfile

+10
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ RUN npm ci && npm run build
1010

1111
# frontend build stage
1212
FROM node:lts-alpine AS frontend-build-stage
13+
ARG SENTRY_AUTH_TOKEN
14+
ARG SENTRY_ORG
15+
ARG SENTRY_FRONTEND_PROJECT
16+
ARG SENTRY_RELEASE_NAME
1317

1418
COPY common /common
1519

@@ -23,6 +27,12 @@ RUN apk --no-cache add --virtual native-deps g++ make python3 git && npm ci && a
2327
COPY frontend .
2428
COPY --from=pdf-build-stage /pdf/dist ./src/pdf
2529
COPY --from=pdf-build-stage /pdf/src/assets/fonts/Inter ./src/assets/fonts/Inter
30+
31+
ENV SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN
32+
ENV SENTRY_ORG=$SENTRY_ORG
33+
ENV SENTRY_FRONTEND_PROJECT=$SENTRY_FRONTEND_PROJECT
34+
ENV SENTRY_RELEASE_NAME=$SENTRY_RELEASE_NAME
35+
2636
RUN npm run build
2737

2838
# production stage

.docker-hub/print/Dockerfile

+10
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
# build stage
22
FROM node:20.8.0 AS build-stage
3+
ARG SENTRY_AUTH_TOKEN
4+
ARG SENTRY_ORG
5+
ARG SENTRY_PRINT_PROJECT
6+
ARG SENTRY_RELEASE_NAME
37

48
COPY common /common
59

610
WORKDIR /app
711

812
COPY print/package*.json ./
13+
14+
ENV SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN
15+
ENV SENTRY_ORG=$SENTRY_ORG
16+
ENV SENTRY_PRINT_PROJECT=$SENTRY_PRINT_PROJECT
17+
ENV SENTRY_RELEASE_NAME=$SENTRY_RELEASE_NAME
18+
919
RUN npm ci
1020

1121
COPY print .

.github/workflows/deployment-devel.yml

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ jobs:
2020
secrets:
2121
DOCKER_HUB_USERNAME: ${{ vars.DOCKER_HUB_USERNAME }}
2222
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
23+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
2324

2425
upgrade-or-install-deployment:
2526
name: Upgrade or install deployment

.github/workflows/deployment-pr.yml

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
secrets:
1515
DOCKER_HUB_USERNAME: ${{ vars.DOCKER_HUB_USERNAME }}
1616
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
17+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
1718

1819
upgrade-or-install-deployment:
1920
name: Upgrade or install deployment

.github/workflows/deployment-stage-prod.yml

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ jobs:
2424
secrets:
2525
DOCKER_HUB_USERNAME: ${{ vars.DOCKER_HUB_USERNAME }}
2626
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
27+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
2728

2829
upgrade-or-install-deployment:
2930
name: Upgrade or install deployment

.github/workflows/reusable-build-and-push.yml

+11
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ on:
1515
required: true
1616
DOCKER_HUB_PASSWORD:
1717
required: true
18+
SENTRY_AUTH_TOKEN:
1819

1920
jobs:
2021
build-and-push:
@@ -43,6 +44,11 @@ jobs:
4344
${{ ((inputs.tag != '') && format('{0}/ecamp3-frontend:{1}', vars.DOCKER_HUB_USERNAME, inputs.tag) || '') }}
4445
${{ vars.DOCKER_HUB_USERNAME }}/ecamp3-frontend:${{ inputs.sha }}
4546
context: .
47+
build-args: |
48+
SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
49+
SENTRY_ORG=${{ vars.SENTRY_ORG }}
50+
SENTRY_FRONTEND_PROJECT=${{ vars.SENTRY_FRONTEND_PROJECT }}
51+
SENTRY_RELEASE_NAME=${{ inputs.sha }}
4652
cache-from: type=gha,scope=frontend
4753
cache-to: type=gha,scope=frontend,mode=max
4854

@@ -81,6 +87,11 @@ jobs:
8187
${{ ((inputs.tag != '') && format('{0}/ecamp3-print:{1}', vars.DOCKER_HUB_USERNAME, inputs.tag) || '') }}
8288
${{ vars.DOCKER_HUB_USERNAME }}/ecamp3-print:${{ inputs.sha }}
8389
context: .
90+
build-args: |
91+
SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
92+
SENTRY_ORG=${{ vars.SENTRY_ORG }}
93+
SENTRY_PRINT_PROJECT=${{ vars.SENTRY_PRINT_PROJECT }}
94+
SENTRY_RELEASE_NAME=${{ inputs.sha }}
8495
cache-from: type=gha,scope=print
8596
cache-to: type=gha,scope=print,mode=max
8697

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@
66
/.caddy/
77
/.env
88
/.helm/ecamp3/charts
9+
10+
!/**/.gitkeep

.helm/.env-example

+7
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@ BASIC_AUTH_ENABLED=false
99
BASIC_AUTH_USERNAME=test
1010
BASIC_AUTH_PASSWORD=test
1111

12+
API_SENTRY_DSN=
13+
FRONTEND_SENTRY_DSN=
14+
PRINT_SENTRY_DSN=
15+
16+
SENTRY_AUTH_TOKEN=
17+
SENTRY_RELEASE_NAME=$version
18+
1219
BACKUP_SCHEDULE=@hourly
1320
BACKUP_S3_ENDPOINT=
1421
BACKUP_S3_BUCKET=

.helm/build-images.sh

+10-3
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,27 @@ if [ -z "$docker_hub_account" ] \
1616
exit 1
1717
fi
1818

19+
sentry_build_args="--build-arg SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN --build-arg SENTRY_ORG=$SENTRY_ORG"
20+
sentry_build_args="$sentry_build_args --build-arg SENTRY_RELEASE_NAME=$SENTRY_RELEASE_NAME"
21+
22+
frontend_sentry_build_args="$sentry_build_args --build-arg SENTRY_FRONTEND_PROJECT=$SENTRY_FRONTEND_PROJECT"
23+
1924
frontend_image_tag="${docker_hub_account}/ecamp3-frontend:${version}"
20-
docker build "$REPO_DIR" -f "$REPO_DIR"/.docker-hub/frontend/Dockerfile -t "$frontend_image_tag"
25+
docker build "$REPO_DIR" -f "$REPO_DIR"/.docker-hub/frontend/Dockerfile $frontend_sentry_build_args -t "$frontend_image_tag"
2126
docker push "$frontend_image_tag"
2227

2328
api_image_tag="${docker_hub_account}/ecamp3-api-php:${version}"
24-
docker build "$REPO_DIR"/api -f "$REPO_DIR"/api/Dockerfile -t "$api_image_tag" --target api_platform_php
29+
docker build "$REPO_DIR"/api -f "$REPO_DIR"/api/Dockerfile -t "$api_image_tag" --target api_platform_php $sentry_build_args
2530
docker push "$api_image_tag"
2631

2732
caddy_image_tag="${docker_hub_account}/ecamp3-api-caddy:${version}"
2833
docker build "$REPO_DIR"/api -f "$REPO_DIR"/api/Dockerfile -t "$caddy_image_tag" --target api_platform_caddy_prod
2934
docker push "$caddy_image_tag"
3035

36+
print_sentry_build_args="$sentry_build_args --build-arg SENTRY_PRINT_PROJECT=$SENTRY_PRINT_PROJECT"
37+
3138
print_image_tag="${docker_hub_account}/ecamp3-print:${version}"
32-
docker build "$REPO_DIR" -f "$REPO_DIR"/.docker-hub/print/Dockerfile -t "$print_image_tag"
39+
docker build "$REPO_DIR" -f "$REPO_DIR"/.docker-hub/print/Dockerfile $print_sentry_build_args -t "$print_image_tag"
3340
docker push "$print_image_tag"
3441

3542
export REPO_OWNER=${docker_hub_account}

.helm/deploy-to-cluster.sh

+9-3
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,15 @@ for i in 1; do
4646
values="$values --set postgresql.dropDBOnUninstall=true"
4747
values="$values --set php.dataMigrationsDir=$migrations_dir"
4848
values="$values --set php.appSecret=$app_secret"
49-
#values="$values --set php.sentryDsn=$API_SENTRY_DSN"
50-
#values="$values --set frontend.sentryDsn=$FRONTEND_SENTRY_DSN"
51-
#values="$values --set print.sentryDsn=$PRINT_SENTRY_DSN"
49+
if [ -n "$API_SENTRY_DSN" ]; then
50+
values="$values --set php.sentryDsn=$API_SENTRY_DSN"
51+
fi
52+
if [ -n "$FRONTEND_SENTRY_DSN" ]; then
53+
values="$values --set frontend.sentryDsn=$FRONTEND_SENTRY_DSN"
54+
fi
55+
if [ -n "$PRINT_SENTRY_DSN" ]; then
56+
values="$values --set print.sentryDsn=$PRINT_SENTRY_DSN"
57+
fi
5258
values="$values --set php.jwt.passphrase=$app_jwt_passphrase"
5359
values="$values --set-file php.jwt.publicKey=$SCRIPT_DIR/public.pem"
5460
values="$values --set-file php.jwt.privateKey=$SCRIPT_DIR/private.pem"

docker-compose.yml

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ services:
1515
- ./common:/common:delegated
1616
- ./pdf:/pdf:delegated
1717
- ./.cache/npm:/home/node/.npm/_cacache:delegated
18+
- ./.cache/npm/sentry-cli:/home/node/.npm/sentry-cli:delegated
1819
environment:
1920
- NODE_ENV=development
2021
- NPM_CONFIG_UPDATE_NOTIFIER=false
@@ -120,6 +121,7 @@ services:
120121
- ./print:/app:delegated
121122
- ./common:/common:delegated
122123
- ./.cache/npm:/home/node/.npm/_cacache:delegated
124+
- ./.cache/npm/sentry-cli:/home/node/.npm/sentry-cli:delegated
123125
environment:
124126
- NODE_OPTIONS=--openssl-legacy-provider #TODO: remove when we update to webpack >=5
125127
- NUXT_HOST=0.0.0.0

e2e/.gitignore

-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ node_modules
33
/data
44
/dist
55

6-
!/**/.gitkeep
7-
86

97
/reports/
108
selenium-debug.log

frontend/.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,6 @@ yarn-error.log*
2929
# yalc
3030
.yalc
3131
yalc.lock
32+
33+
# Sentry Auth Token
34+
.env.sentry-build-plugin

0 commit comments

Comments
 (0)