From 22d1624b1157ee806d5300e44d4a68cf03564cb7 Mon Sep 17 00:00:00 2001 From: Entkenntnis Date: Wed, 13 Dec 2023 14:00:33 +0100 Subject: [PATCH 1/5] remove outdated vars, wokr in progress --- apps/web/env.d.ts | 6 +++--- apps/web/next.config.js | 4 +++- apps/web/src/auth/cookie/cookie-domain.ts | 4 ++-- apps/web/src/helper/urls/serlo-domain.ts | 2 +- apps/web/src/pages/api/.ory/[...paths].ts | 4 ++-- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/apps/web/env.d.ts b/apps/web/env.d.ts index 9e50b224bb..7973c3ca44 100644 --- a/apps/web/env.d.ts +++ b/apps/web/env.d.ts @@ -3,13 +3,13 @@ declare namespace NodeJS { // Environment to use NEXT_PUBLIC_ENV: 'production' | 'staging' | 'local' // Serlo domain for production environment - NEXT_PUBLIC_SERLO_DOMAIN_PRODUCTION: string + // NEXT_PUBLIC_SERLO_DOMAIN_PRODUCTION: string // Serlo domain to be used in staging environment - NEXT_PUBLIC_SERLO_DOMAIN_STAGING: string + // NEXT_PUBLIC_SERLO_DOMAIN_STAGING: string // Sentry DSN (defined in preview & production) NEXT_PUBLIC_SENTRY_DSN: string | undefined // Google Analytics Tracking ID (defined in production) - NEXT_PUBLIC_GA_TRACKING_ID: string | undefined + // NEXT_PUBLIC_GA_TRACKING_ID: string | undefined // The GitHub SHA of the commit the deployment was triggered by (defined in preview & production) NEXT_PUBLIC_COMMIT_SHA: string | undefined // The public facing url of the deployment (defined in preview & production) diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 5d918efd1b..c0a967f339 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -2,10 +2,12 @@ import bundleAnalyzer from '@next/bundle-analyzer' import path from 'path' import { fileURLToPath } from 'url' +// check and display env variables console.log( - 'current active environment (staging or production):', + 'selected environment (staging or production):', process.env.NEXT_PUBLIC_ENV ) +console.log('sentry dsn (if available):', process.env.NEXT_PUBLIC_SENTRY_DSN) /** * @type {import('next').NextConfig} diff --git a/apps/web/src/auth/cookie/cookie-domain.ts b/apps/web/src/auth/cookie/cookie-domain.ts index 5e2b32dbc8..92bf828ad1 100644 --- a/apps/web/src/auth/cookie/cookie-domain.ts +++ b/apps/web/src/auth/cookie/cookie-domain.ts @@ -1,6 +1,6 @@ const COOKIE_DOMAINS = { - production: process.env.NEXT_PUBLIC_SERLO_DOMAIN_PRODUCTION, - staging: process.env.NEXT_PUBLIC_SERLO_DOMAIN_STAGING, + production: 'serlo.org', + staging: 'serlo-staging.dev', local: 'localhost', } diff --git a/apps/web/src/helper/urls/serlo-domain.ts b/apps/web/src/helper/urls/serlo-domain.ts index ad01fcfb6d..5ffb1ee9d4 100644 --- a/apps/web/src/helper/urls/serlo-domain.ts +++ b/apps/web/src/helper/urls/serlo-domain.ts @@ -1,4 +1,4 @@ export const serloDomain = process.env.NEXT_PUBLIC_ENV === 'production' - ? process.env.NEXT_PUBLIC_SERLO_DOMAIN_PRODUCTION + ? 'serlo.org' : process.env.NEXT_PUBLIC_SERLO_DOMAIN_STAGING diff --git a/apps/web/src/pages/api/.ory/[...paths].ts b/apps/web/src/pages/api/.ory/[...paths].ts index f743acaf2e..635b1474ec 100644 --- a/apps/web/src/pages/api/.ory/[...paths].ts +++ b/apps/web/src/pages/api/.ory/[...paths].ts @@ -3,8 +3,8 @@ import { createApiHandler, config } from '@ory/integrations/next-edge' export { config } const COOKIE_DOMAINS = { - production: process.env.NEXT_PUBLIC_SERLO_DOMAIN_PRODUCTION, - staging: process.env.NEXT_PUBLIC_SERLO_DOMAIN_STAGING, + production: 'serlo.org', + staging: 'serlo-staging.dev', local: 'localhost', } From 25feca3211c0917b989046235ff354947fb6d0bd Mon Sep 17 00:00:00 2001 From: Entkenntnis Date: Wed, 13 Dec 2023 15:31:13 +0100 Subject: [PATCH 2/5] more debug output --- apps/web/.env | 7 ++----- apps/web/.env.production | 10 +++++----- apps/web/env.d.ts | 10 +++------- apps/web/next.config.js | 12 ++++++++++-- apps/web/src/pages/_document.tsx | 4 ++-- 5 files changed, 22 insertions(+), 21 deletions(-) diff --git a/apps/web/.env b/apps/web/.env index 7ae325cfd6..fd5a6cb7dc 100644 --- a/apps/web/.env +++ b/apps/web/.env @@ -1,13 +1,10 @@ # Uncomment the next line to test a local API / Auth #NEXT_PUBLIC_ENV=local NEXT_PUBLIC_ENV=staging -NEXT_PUBLIC_SERLO_DOMAIN_PRODUCTION=serlo.org -NEXT_PUBLIC_SERLO_DOMAIN_STAGING=serlo-staging.dev + +## below is not sorted NEXT_PUBLIC_SERLO_DOMAIN_LOCAL=serlo.localhost:4567 # empty string if not on vercel -NEXT_PUBLIC_VERCEL_URL= -# empty string if not on vercel -NEXT_PUBLIC_COMMIT_SHA= HYDRA_CLIENT_ID_STAGING=frontend HYDRA_CLIENT_SECRET_STAGING=YjgwZThhZDk0MTYxMTA4ODY1NzYxZmJk HYDRA_HOST_STAGING=https://hydra.${NEXT_PUBLIC_SERLO_DOMAIN_STAGING} diff --git a/apps/web/.env.production b/apps/web/.env.production index 7f5864ab0a..279aa322a5 100644 --- a/apps/web/.env.production +++ b/apps/web/.env.production @@ -1,8 +1,8 @@ -NEXT_PUBLIC_ENV=${ENV} -NEXT_PUBLIC_SERLO_DOMAIN_PRODUCTION=serlo.org -NEXT_PUBLIC_SERLO_DOMAIN_STAGING=serlo-staging.dev -NEXT_PUBLIC_COMMIT_SHA=${VERCEL_GITHUB_COMMIT_SHA} -NEXT_PUBLIC_VERCEL_URL=${VERCEL_URL} +# NEXT_PUBLIC_ENV=${ENV} +# NEXT_PUBLIC_SERLO_DOMAIN_PRODUCTION=serlo.org +# NEXT_PUBLIC_SERLO_DOMAIN_STAGING=serlo-staging.dev +# NEXT_PUBLIC_COMMIT_SHA=${VERCEL_GITHUB_COMMIT_SHA} +# NEXT_PUBLIC_VERCEL_URL=${VERCEL_URL} HYDRA_HOST_STAGING=https://hydra.${NEXT_PUBLIC_SERLO_DOMAIN_STAGING} HYDRA_HOST_PRODUCTION=https://hydra.${NEXT_PUBLIC_SERLO_DOMAIN_PRODUCTION} KRATOS_HOST_STAGING=https://kratos.${NEXT_PUBLIC_SERLO_DOMAIN_STAGING} diff --git a/apps/web/env.d.ts b/apps/web/env.d.ts index 7973c3ca44..8069e17966 100644 --- a/apps/web/env.d.ts +++ b/apps/web/env.d.ts @@ -2,19 +2,15 @@ declare namespace NodeJS { interface ProcessEnv { // Environment to use NEXT_PUBLIC_ENV: 'production' | 'staging' | 'local' - // Serlo domain for production environment - // NEXT_PUBLIC_SERLO_DOMAIN_PRODUCTION: string - // Serlo domain to be used in staging environment - // NEXT_PUBLIC_SERLO_DOMAIN_STAGING: string // Sentry DSN (defined in preview & production) NEXT_PUBLIC_SENTRY_DSN: string | undefined - // Google Analytics Tracking ID (defined in production) - // NEXT_PUBLIC_GA_TRACKING_ID: string | undefined // The GitHub SHA of the commit the deployment was triggered by (defined in preview & production) - NEXT_PUBLIC_COMMIT_SHA: string | undefined + NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA: string | undefined // The public facing url of the deployment (defined in preview & production) NEXT_PUBLIC_VERCEL_URL: string | undefined + // ----- below is not sorted yet + // Hydra client id for production environment (defined in preview & production, only exposed to server) HYDRA_CLIENT_ID_PRODUCTION: string | undefined // Hydra client id for staging environment (only exposed to server) diff --git a/apps/web/next.config.js b/apps/web/next.config.js index c0a967f339..e6829e0c8a 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -4,10 +4,18 @@ import { fileURLToPath } from 'url' // check and display env variables console.log( - 'selected environment (staging or production):', + '> selected environment (staging or production):', process.env.NEXT_PUBLIC_ENV ) -console.log('sentry dsn (if available):', process.env.NEXT_PUBLIC_SENTRY_DSN) +console.log('> sentry dsn (if available):', process.env.NEXT_PUBLIC_SENTRY_DSN) +console.log( + '> commit sha (if available):', + process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA +) +console.log( + '> deployment url (if available):', + process.env.NEXT_PUBLIC_VERCEL_URL +) /** * @type {import('next').NextConfig} diff --git a/apps/web/src/pages/_document.tsx b/apps/web/src/pages/_document.tsx index 5896484b15..97e1028ab8 100644 --- a/apps/web/src/pages/_document.tsx +++ b/apps/web/src/pages/_document.tsx @@ -16,7 +16,7 @@ const sentryLoader = ` window.Sentry.init({ environment: "${process.env.NEXT_PUBLIC_ENV}", release: "frontend@${ - process.env.NEXT_PUBLIC_COMMIT_SHA?.substring(0, 7) ?? '' + process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA?.substring(0, 7) ?? '' }", beforeSend(event, hint) { /* ignore safari warning in JsonLd component */ @@ -108,7 +108,7 @@ export default class MyDocument extends Document { /> )} {process.env.NEXT_PUBLIC_SENTRY_DSN !== undefined && - process.env.NEXT_PUBLIC_COMMIT_SHA !== undefined && ( + process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA !== undefined && (