From a5463fabe5f94b0937efb5f920fdccd9f28abaae Mon Sep 17 00:00:00 2001 From: Enrico Ros Date: Tue, 4 Mar 2025 15:59:33 -0800 Subject: [PATCH] Further rationalize Build env var access --- Dockerfile | 4 ++++ next.config.mjs | 1 + src/common/components/3rdparty/GoogleAnalytics.tsx | 10 ++++++---- src/common/components/3rdparty/PostHogAnalytics.tsx | 7 ++++--- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index deb5bd532..391372c85 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,6 +35,10 @@ ENV NEXT_PUBLIC_BUILD_REF_NAME=${NEXT_PUBLIC_BUILD_REF_NAME} ARG NEXT_PUBLIC_GA4_MEASUREMENT_ID ENV NEXT_PUBLIC_GA4_MEASUREMENT_ID=${NEXT_PUBLIC_GA4_MEASUREMENT_ID} +# Optional argument to configure PostHog at build time (see: docs/deploy-analytics.md) +ARG NEXT_PUBLIC_POSTHOG_KEY +ENV NEXT_PUBLIC_POSTHOG_KEY=${NEXT_PUBLIC_POSTHOG_KEY} + # Copy development deps and source COPY --from=deps /app/node_modules ./node_modules COPY . . diff --git a/next.config.mjs b/next.config.mjs index 1d26de7ac..abeafbeb9 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -11,6 +11,7 @@ try { // final fallback buildHash = '2-dev'; } +// The following are used by/available to Release.buildInfo(...) process.env.NEXT_PUBLIC_BUILD_HASH = (buildHash || '').slice(0, 10); process.env.NEXT_PUBLIC_BUILD_PKGVER = JSON.parse('' + await readFile(new URL('./package.json', import.meta.url))).version; process.env.NEXT_PUBLIC_BUILD_TIMESTAMP = new Date().toISOString(); diff --git a/src/common/components/3rdparty/GoogleAnalytics.tsx b/src/common/components/3rdparty/GoogleAnalytics.tsx index 9f14588eb..18de60bfd 100644 --- a/src/common/components/3rdparty/GoogleAnalytics.tsx +++ b/src/common/components/3rdparty/GoogleAnalytics.tsx @@ -53,6 +53,8 @@ function NextGoogleAnalytics(props: { if (currDataLayerName === undefined) currDataLayerName = 'dataLayer'; + const fBuild = Release.buildInfo('frontend'); + return ( <>