diff --git a/cdk-infra/lib/constructs/worker/worker-env-construct.ts b/cdk-infra/lib/constructs/worker/worker-env-construct.ts index de91138ad..8da11d4b7 100644 --- a/cdk-infra/lib/constructs/worker/worker-env-construct.ts +++ b/cdk-infra/lib/constructs/worker/worker-env-construct.ts @@ -64,6 +64,7 @@ export class WorkerEnvConstruct extends Construct { const docsetsCollection = StringParameter.valueFromLookup(this, `${ssmPrefix}/atlas/collections/docsets`); const jobCollection = StringParameter.valueFromLookup(this, `${ssmPrefix}/atlas/collections/job/queue`); const gatsbyMarianUrl = StringParameter.valueFromLookup(this, `${ssmPrefix}/frontend/marian_url`); + const gatsbyEnableDarkMode = StringParameter.valueFromLookup(this, `${ssmPrefix}/frontend/enable_dark_mode`); const dbPassword = secureStrings['MONGO_ATLAS_PASSWORD']; this.environment = { @@ -101,6 +102,7 @@ export class WorkerEnvConstruct extends Construct { GATSBY_HIDE_UNIFIED_FOOTER_LOCALE: gatsbyHideUnifiedFooterLocale, GATSBY_MARIAN_URL: gatsbyMarianUrl, IS_FEATURE_BRANCH: getIsFeatureBranch(), + GATSBY_ENABLE_DARK_MODE: gatsbyEnableDarkMode, }; } } diff --git a/config/custom-environment-variables.json b/config/custom-environment-variables.json index 4503bd1b1..79cc86db2 100644 --- a/config/custom-environment-variables.json +++ b/config/custom-environment-variables.json @@ -34,5 +34,6 @@ "cdnClientID": "CDN_CLIENT_ID", "cdnClientSecret": "CDN_CLIENT_SECRET", "cdnInvalidatorServiceURL": "CDN_INVALIDATOR_SERVICE_URL", - "searchIndexBucket": "SEARCH_INDEX_BUCKET" + "searchIndexBucket": "SEARCH_INDEX_BUCKET", + "gatsbyEnableDarkMode": "GATSBY_ENABLE_DARK_MODE" } diff --git a/infrastructure/ecs-main/ecs_service.yml b/infrastructure/ecs-main/ecs_service.yml index 33fe2a34c..1716b2114 100644 --- a/infrastructure/ecs-main/ecs_service.yml +++ b/infrastructure/ecs-main/ecs_service.yml @@ -68,6 +68,8 @@ Resources: Value: ${self:custom.featureFlagSearchUI} - Name: GATSBY_MARIAN_URL Value: ${self:custom.gatsbyMarianURL} + - Name: GATSBY_ENABLE_DARK_MODE + Value: ${self:custom.gatsbyEnableDarkMode} - Name: GATSBY_HIDE_UNIFIED_FOOTER_LOCALE Value: ${self:custom.gatsbyHideUnifiedFooterLocale} - Name: FASTLY_MAIN_TOKEN diff --git a/src/commands/src/helpers/dependency-helpers.ts b/src/commands/src/helpers/dependency-helpers.ts index 7745326ba..2fe869938 100644 --- a/src/commands/src/helpers/dependency-helpers.ts +++ b/src/commands/src/helpers/dependency-helpers.ts @@ -36,7 +36,8 @@ async function createEnvProdFile({ GATSBY_MARIAN_URL=${process.env.GATSBY_MARIAN_URL} PATH_PREFIX=${prefix} ${patchId ? `PATCH_ID=${patchId}` : ''} - ${commitHash ? `COMMIT_HASH=${commitHash}` : ''}`, + ${commitHash ? `COMMIT_HASH=${commitHash}` : ''} + GATSBY_ENABLE_DARK_MODE=${process.env.GATSBY_ENABLE_DARK_MODE}`, 'utf8' ); } catch (e) { diff --git a/src/job/jobHandler.ts b/src/job/jobHandler.ts index 5b5a7ae3a..497bfa502 100644 --- a/src/job/jobHandler.ts +++ b/src/job/jobHandler.ts @@ -413,6 +413,7 @@ export abstract class JobHandler { GATSBY_TEST_SEARCH_UI: this._config.get('featureFlagSearchUI'), GATSBY_HIDE_UNIFIED_FOOTER_LOCALE: this._config.get('gatsbyHideUnifiedFooterLocale'), GATSBY_MARIAN_URL: this._config.get('gatsbyMarianURL'), + GATSBY_ENABLE_DARK_MODE: this._config.get('gatsbyEnableDarkMode'), }; for (const [envName, envValue] of Object.entries(snootyFrontEndVars)) { diff --git a/tests/data/data.ts b/tests/data/data.ts index b3e38483a..07da42860 100644 --- a/tests/data/data.ts +++ b/tests/data/data.ts @@ -176,7 +176,7 @@ export class TestDataProvider { } static getEnvVarsWithPathPrefixWithFlags(job: Job): string { - return `GATSBY_PARSER_USER=TestUser\nGATSBY_PARSER_BRANCH=${job.payload.branchName}\nPATH_PREFIX=${job.payload.pathPrefix}\nGATSBY_BASE_URL=test\nPREVIEW_BUILD_ENABLED=false\nGATSBY_TEST_SEARCH_UI=false\nGATSBY_HIDE_UNIFIED_FOOTER_LOCALE=true\nGATSBY_MARIAN_URL=test-url\n`; + return `GATSBY_PARSER_USER=TestUser\nGATSBY_PARSER_BRANCH=${job.payload.branchName}\nPATH_PREFIX=${job.payload.pathPrefix}\nGATSBY_BASE_URL=test\nPREVIEW_BUILD_ENABLED=false\nGATSBY_TEST_SEARCH_UI=false\nGATSBY_HIDE_UNIFIED_FOOTER_LOCALE=true\nGATSBY_MARIAN_URL=test-url\nGATSBY_ENABLE_DARK_MODE=true\n`; } static getPathPrefixCases(): Array { diff --git a/tests/utils/jobHandlerTestHelper.ts b/tests/utils/jobHandlerTestHelper.ts index bea195a47..0717f26d2 100644 --- a/tests/utils/jobHandlerTestHelper.ts +++ b/tests/utils/jobHandlerTestHelper.ts @@ -166,6 +166,7 @@ export class JobHandlerTestHelper { .calledWith(`repos/${this.job.payload.repoName}/worker.sh`) .mockReturnValue(nextGenEntry); this.config.get.calledWith('GATSBY_PARSER_USER').mockReturnValue('TestUser'); + this.config.get.calledWith('gatsbyEnableDarkMode').mockReturnValue('true'); this.jobCommandExecutor.execute.mockResolvedValue({ status: 'success', output: 'Great work', error: null }); } }