Skip to content

Commit 1afd199

Browse files
authored
feat(errors): déploiement de sentry et de ses sourcemaps (#2889)
1 parent 007f08c commit 1afd199

59 files changed

Lines changed: 284 additions & 545 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/hooks/block-bad-patterns.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@ check_pattern '\.(tsx|jsx)$' \
5353
'Inline <svg> is forbidden. Use DsfrPictogram, public/assets/*.svg + <Image> (next/image), or DSFR icon classes (fr-icon-*).' \
5454
'(DsfrPictogram\.tsx|ErrorArtwork\.tsx)'
5555

56-
# Direct process.env — use ~/env.js instead (exclude env.js, instrumentation, next.config)
56+
# Direct process.env — use ~/env.js instead (exclude env.js, instrumentation, next.config, sentry configs)
5757
check_pattern '\.(ts|tsx)$' \
5858
'process\.env' \
5959
'Direct process.env is forbidden. Use: import { env } from "~/env.js".' \
60-
'(env\.js|instrumentation\.ts|next\.config|trpc/react\.tsx)'
60+
'(env\.js|instrumentation(-client)?\.ts|next\.config|trpc/react\.tsx|sentry\.(client|server|edge)\.config\.ts)'
6161

6262
# Deep relative imports — use ~/ path alias
6363
check_pattern '\.(ts|tsx)$' \

.github/workflows/preproduction.yaml

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,13 @@ jobs:
4646
cache-enabled: true
4747
fallback-enabled: true
4848
build-args: |
49-
NEXT_PUBLIC_API_URL=https://egapro-preprod.ovh.fabrique.social.gouv.fr/api
50-
NEXT_PUBLIC_API_V2_URL=https://egapro-preprod.ovh.fabrique.social.gouv.fr/apiv2
51-
NEXTAUTH_URL=https://egapro-preprod.ovh.fabrique.social.gouv.fr/api/auth
52-
NEXT_PUBLIC_GITHUB_SHA=${{ github.sha }}
5349
NEXT_PUBLIC_EGAPRO_ENV=preprod
54-
NEXT_PUBLIC_SENTRY_DSN=${{ secrets.APP_SENTRY_DSN }}
55-
SENTRY_ORG=incubateur
56-
SENTRY_PROJECT=egapro-app
57-
SENTRY_URL=https://sentry2.fabrique.social.gouv.fr
58-
SENTRY_RELEASE=${{ github.sha }}
50+
NEXT_PUBLIC_SENTRY_DSN=${{ vars.NEXT_PUBLIC_SENTRY_DSN }}
51+
NEXT_PUBLIC_MATOMO_URL=${{ vars.NEXT_PUBLIC_MATOMO_URL }}
52+
NEXT_PUBLIC_MATOMO_SITE_ID=${{ vars.NEXT_PUBLIC_MATOMO_SITE_ID_DEV }}
5953
secrets: |
6054
sentry_auth_token=${{ secrets.SENTRY_AUTH_TOKEN }}
55+
sentry_release=${{ github.ref_name }}
6156
6257
kontinuous:
6358
needs: [build-app]
@@ -84,9 +79,6 @@ jobs:
8479
run: pnpm test:e2e
8580
env:
8681
SITE_URL: https://egapro-preprod.ovh.fabrique.social.gouv.fr
87-
E2E_CLEANUP_TOKEN: ${{ secrets.E2E_CLEANUP_TOKEN }}
88-
E2E_USERNAME: ${{ secrets.E2E_USERNAME }}
89-
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
9082
- name: Upload Playwright report
9183
uses: actions/upload-artifact@v4
9284
if: failure()

.github/workflows/production.yaml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,13 @@ jobs:
4747
cache-enabled: true
4848
fallback-enabled: true
4949
build-args: |
50-
NEXT_PUBLIC_API_URL=https://egapro.travail.gouv.fr/api
51-
NEXT_PUBLIC_API_V2_URL=https://egapro.travail.gouv.fr/apiv2
52-
NEXTAUTH_URL=https://egapro.travail.gouv.fr/api/auth
53-
NEXT_PUBLIC_GITHUB_SHA=${{ github.sha }}
5450
NEXT_PUBLIC_EGAPRO_ENV=prod
55-
NEXT_PUBLIC_SENTRY_DSN=${{ secrets.APP_SENTRY_DSN }}
56-
SENTRY_ORG=incubateur
57-
SENTRY_PROJECT=egapro-app
58-
SENTRY_URL=https://sentry2.fabrique.social.gouv.fr
59-
SENTRY_RELEASE=${{ github.ref_name }}
51+
NEXT_PUBLIC_SENTRY_DSN=${{ vars.NEXT_PUBLIC_SENTRY_DSN }}
52+
NEXT_PUBLIC_MATOMO_URL=${{ vars.NEXT_PUBLIC_MATOMO_URL }}
53+
NEXT_PUBLIC_MATOMO_SITE_ID=${{ vars.NEXT_PUBLIC_MATOMO_SITE_ID_PROD }}
6054
secrets: |
6155
sentry_auth_token=${{ secrets.SENTRY_AUTH_TOKEN }}
56+
sentry_release=${{ github.ref_name }}
6257
6358
kontinuous:
6459
needs: [build-app]

.github/workflows/review-auto.yaml

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,6 @@ jobs:
3636
type=sha,prefix=sha-,format=long,priority=890
3737
type=ref,event=branch,priority=600
3838
39-
- name: Env
40-
id: env
41-
uses: socialgouv/kontinuous/.github/actions/env@v1
42-
43-
- name: Set outputs
44-
id: vars
45-
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
46-
4739
- name: 📦 Build and push Docker image for app
4840
uses: socialgouv/workflows/actions/buildkit@v1
4941
with:
@@ -62,18 +54,13 @@ jobs:
6254
cache-enabled: true
6355
fallback-enabled: true
6456
build-args: |
65-
NEXT_PUBLIC_API_URL=https://${{ steps.env.outputs.subdomain }}.ovh.fabrique.social.gouv.fr/api
66-
NEXT_PUBLIC_API_V2_URL=https://${{ steps.env.outputs.subdomain }}.ovh.fabrique.social.gouv.fr/apiv2
67-
NEXTAUTH_URL=https://${{ steps.env.outputs.subdomain }}.ovh.fabrique.social.gouv.fr/api/auth
68-
NEXT_PUBLIC_GITHUB_SHA=${{ steps.vars.outputs.sha_short }}
6957
NEXT_PUBLIC_EGAPRO_ENV=dev
70-
NEXT_PUBLIC_SENTRY_DSN=${{ secrets.APP_SENTRY_DSN }}
71-
SENTRY_ORG=incubateur
72-
SENTRY_PROJECT=egapro-app
73-
SENTRY_URL=https://sentry2.fabrique.social.gouv.fr
74-
SENTRY_RELEASE=${{ github.ref_name }}
58+
NEXT_PUBLIC_SENTRY_DSN=${{ vars.NEXT_PUBLIC_SENTRY_DSN }}
59+
NEXT_PUBLIC_MATOMO_URL=${{ vars.NEXT_PUBLIC_MATOMO_URL }}
60+
NEXT_PUBLIC_MATOMO_SITE_ID=${{ vars.NEXT_PUBLIC_MATOMO_SITE_ID_DEV }}
7561
secrets: |
7662
sentry_auth_token=${{ secrets.SENTRY_AUTH_TOKEN }}
63+
sentry_release=${{ github.ref_name }}
7764
7865
kontinuous:
7966
needs: [build-app]

.github/workflows/review.yaml

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,6 @@ jobs:
3434
type=sha,prefix=sha-,format=long,priority=890
3535
type=ref,event=branch,priority=600
3636
37-
- name: Env
38-
id: env
39-
uses: socialgouv/kontinuous/.github/actions/env@v1
40-
41-
- name: Set outputs
42-
id: vars
43-
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
44-
4537
- name: 📦 Build and push Docker image for app
4638
uses: socialgouv/workflows/actions/buildkit@v1
4739
with:
@@ -60,18 +52,13 @@ jobs:
6052
cache-enabled: true
6153
fallback-enabled: true
6254
build-args: |
63-
NEXT_PUBLIC_API_URL=https://${{ steps.env.outputs.subdomain }}.ovh.fabrique.social.gouv.fr/api
64-
NEXT_PUBLIC_API_V2_URL=https://${{ steps.env.outputs.subdomain }}.ovh.fabrique.social.gouv.fr/apiv2
65-
NEXTAUTH_URL=https://${{ steps.env.outputs.subdomain }}.ovh.fabrique.social.gouv.fr/api/auth
66-
NEXT_PUBLIC_GITHUB_SHA=${{ steps.vars.outputs.sha_short }}
6755
NEXT_PUBLIC_EGAPRO_ENV=dev
68-
NEXT_PUBLIC_SENTRY_DSN=${{ secrets.APP_SENTRY_DSN }}
69-
SENTRY_ORG=incubateur
70-
SENTRY_PROJECT=egapro-app
71-
SENTRY_URL=https://sentry2.fabrique.social.gouv.fr
72-
SENTRY_RELEASE=${{ github.ref_name }}
56+
NEXT_PUBLIC_SENTRY_DSN=${{ vars.NEXT_PUBLIC_SENTRY_DSN }}
57+
NEXT_PUBLIC_MATOMO_URL=${{ vars.NEXT_PUBLIC_MATOMO_URL }}
58+
NEXT_PUBLIC_MATOMO_SITE_ID=${{ vars.NEXT_PUBLIC_MATOMO_SITE_ID_DEV }}
7359
secrets: |
7460
sentry_auth_token=${{ secrets.SENTRY_AUTH_TOKEN }}
61+
sentry_release=${{ github.ref_name }}
7562
7663
kontinuous:
7764
needs: [build-app]
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: bitnami.com/v1alpha1
2+
kind: SealedSecret
3+
metadata:
4+
annotations:
5+
sealedsecrets.bitnami.com/cluster-wide: 'true'
6+
name: api
7+
spec:
8+
encryptedData:
9+
EGAPRO_WEEZ_API_URL: AgAcc2H0vRbrh8KwOw8oAU3KuCbGyy6pNhHHffIeKNeqFC3IDCSkvm28/CueqH3W/3nOp3u3qSLmSqPVUvcyneMN/svbkys5N8Ls+yMbHCUwLjUkasCLR0pR0n1h22YV1Utamrp23TlEwJvMWoQTKXOWZ7LiCFVdxQ5FqGCnBbnlI+LXSLi8MbLndJWbeTbzd1/CkO0fsXFlT/avPwxD+Ql80lr5Jmu7eZWY5z/MYV3jpG7HJ7agsN8p5Cs6DmuR76iDtr8EJJK55xSUJbc0Xm7N7nWxI2kz2r9dAs/YqSQ72vlMcSQJ/eYJWEihEZyrciYDznAYzbKTWGG+rEHyneMufAg5TfVT8UT5SH6pz7qqwYmaJYPJMDCXvu8YrBGJ8orQShHKoWLHv75X1MMV82+BmplngudCNu/ylHjXPsxldD23w9hjnAmq9w08JzjMcoY2CefTr3B3GnjpPOoEeF5ZD+F3XmpUO9KUhLOnxQpvPLAaA8sIdUEBzQuxfAL+aI8q/NsfunxwgOq5e+GKgMwKMUrmlBw9WZO3KVBQjfYlHFRu8vIQ8BMQc1z+Vdj5WTVtlyNbbhpyGuFb15jmZ/cB6HRvCtq/Sh7ntvmOX0eUlI2IP9Tp8yoV3U932kWcZGJub+rEZDtj3+V5McFzS09T5iqp+G6BAQ/QV6QwEZRn+KTcDliaXO5udRLHoY1LRaFU5s39xISOCnS8kfpFBmLPPcPMCeryWz+7CvB9ueMiKj1FVW4r2Jjo
10+
template:
11+
metadata:
12+
annotations:
13+
sealedsecrets.bitnami.com/cluster-wide: 'true'
14+
name: api
15+
type: Opaque

.kontinuous/env/dev/templates/basic-auth.sealed-secret.yaml

Lines changed: 0 additions & 15 deletions
This file was deleted.

.kontinuous/env/dev/templates/egapro-secret.sealed-secret.yaml

Lines changed: 0 additions & 17 deletions
This file was deleted.

.kontinuous/env/dev/templates/egapro.configmap.yaml

Lines changed: 0 additions & 6 deletions
This file was deleted.

.kontinuous/env/dev/templates/github-oauth.sealed-secret.yaml

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)