From 249e9b3486d2eb515e602b92582c7911552fd1d7 Mon Sep 17 00:00:00 2001 From: alexander-schefe Date: Mon, 11 Aug 2025 10:36:41 +0200 Subject: [PATCH 1/5] chore: added some logging to debug missing env in bundle error --- .github/workflows/reusable-build-job.yml | 9 +++++++++ .github/workflows/reusable-deploy-job.yml | 10 +++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-build-job.yml b/.github/workflows/reusable-build-job.yml index 8429b9a..66326ec 100644 --- a/.github/workflows/reusable-build-job.yml +++ b/.github/workflows/reusable-build-job.yml @@ -54,6 +54,15 @@ jobs: ############## - name: Compile and build run: yarn clean && yarn compile && yarn build + + - name: Verify artifact contents before upload + run: | + echo "Listing dist files:" + ls -l packages/frontend/dist + echo "bundle.js hash:" + sha256sum packages/frontend/dist/bundle.js + head -n 20 packages/frontend/dist/bundle.js + - name: Upload dist and lib uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/reusable-deploy-job.yml b/.github/workflows/reusable-deploy-job.yml index e9fcae7..f99a7f6 100644 --- a/.github/workflows/reusable-deploy-job.yml +++ b/.github/workflows/reusable-deploy-job.yml @@ -88,8 +88,16 @@ jobs: echo "FRONTEND_URL_WITHOUT_HTTPS=$(echo ${{ secrets.FRONTEND_URL }} | sed 's/^https:\/\///')" >> $GITHUB_ENV echo "BACKEND_URL_WITHOUT_HTTPS=$(echo ${{ secrets.BACKEND_URL }} | sed 's/^https:\/\///')" >> $GITHUB_ENV + - name: Verify artifact contents before upload + run: | + echo "Listing dist files:" + ls -l packages/frontend/dist + echo "bundle.js hash:" + sha256sum packages/frontend/dist/bundle.js + head -n 20 packages/frontend/dist/bundle.js + - name: Deploy Frontend - run: serverless s3sync bucket --bucket ${{ secrets.COMPANY_ABBREVIATION }}-lara-frontend-${{ inputs.target }} + run: serverless s3sync bucket --bucket ${{ secrets.COMPANY_ABBREVIATION }}-lara-frontend-${{ inputs.target }} --verbose - name: Deploy Backends run: serverless deploy --stage ${{ inputs.target }} From f6210dda21d67518c0050c0e854f3535202eaf3a Mon Sep 17 00:00:00 2001 From: alexander-schefe Date: Mon, 11 Aug 2025 10:56:54 +0200 Subject: [PATCH 2/5] chore: added more logging --- .github/workflows/reusable-build-job.yml | 4 ++-- .github/workflows/reusable-deploy-job.yml | 22 +++++++++++++++++++--- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable-build-job.yml b/.github/workflows/reusable-build-job.yml index 66326ec..e64dbfa 100644 --- a/.github/workflows/reusable-build-job.yml +++ b/.github/workflows/reusable-build-job.yml @@ -55,13 +55,13 @@ jobs: - name: Compile and build run: yarn clean && yarn compile && yarn build - - name: Verify artifact contents before upload + - name: (DEBUG) Verify artifact contents before upload run: | echo "Listing dist files:" ls -l packages/frontend/dist echo "bundle.js hash:" sha256sum packages/frontend/dist/bundle.js - head -n 20 packages/frontend/dist/bundle.js + sed -n '122663p' packages/frontend/dist/bundle.js - name: Upload dist and lib uses: actions/upload-artifact@v4 diff --git a/.github/workflows/reusable-deploy-job.yml b/.github/workflows/reusable-deploy-job.yml index f99a7f6..3096ad0 100644 --- a/.github/workflows/reusable-deploy-job.yml +++ b/.github/workflows/reusable-deploy-job.yml @@ -88,16 +88,32 @@ jobs: echo "FRONTEND_URL_WITHOUT_HTTPS=$(echo ${{ secrets.FRONTEND_URL }} | sed 's/^https:\/\///')" >> $GITHUB_ENV echo "BACKEND_URL_WITHOUT_HTTPS=$(echo ${{ secrets.BACKEND_URL }} | sed 's/^https:\/\///')" >> $GITHUB_ENV - - name: Verify artifact contents before upload + - name: (DEBUG) Verify artifact contents before serverless upload run: | echo "Listing dist files:" ls -l packages/frontend/dist echo "bundle.js hash:" sha256sum packages/frontend/dist/bundle.js - head -n 20 packages/frontend/dist/bundle.js + sed -n '122663p' packages/frontend/dist/bundle.js - name: Deploy Frontend - run: serverless s3sync bucket --bucket ${{ secrets.COMPANY_ABBREVIATION }}-lara-frontend-${{ inputs.target }} --verbose + run: serverless s3sync bucket --bucket ${{ secrets.COMPANY_ABBREVIATION }}-lara-frontend-${{ inputs.target }} --dir packages/frontend/dist --verbose + + - name: (DEBUG) Verify artifact contents after serverless upload + run: | + echo "Listing dist files:" + ls -l packages/frontend/dist + echo "bundle.js hash:" + sha256sum packages/frontend/dist/bundle.js + sed -n '122663p' packages/frontend/dist/bundle.js - name: Deploy Backends run: serverless deploy --stage ${{ inputs.target }} + + - name: (DEBUG) Verify artifact contents after serverless deploy + run: | + echo "Listing dist files:" + ls -l packages/frontend/dist + echo "bundle.js hash:" + sha256sum packages/frontend/dist/bundle.js + sed -n '122663p' packages/frontend/dist/bundle.js From 984285db4233aedd83942068c267ec50405e75dd Mon Sep 17 00:00:00 2001 From: alexander-schefe Date: Mon, 11 Aug 2025 11:24:40 +0200 Subject: [PATCH 3/5] fix: fixed deploy error and added more debug logging --- .github/workflows/reusable-build-job.yml | 5 ++--- .github/workflows/reusable-deploy-job.yml | 21 +++------------------ packages/frontend/webpack.config.js | 5 +++-- 3 files changed, 8 insertions(+), 23 deletions(-) diff --git a/.github/workflows/reusable-build-job.yml b/.github/workflows/reusable-build-job.yml index 9430821..2c4f4ab 100644 --- a/.github/workflows/reusable-build-job.yml +++ b/.github/workflows/reusable-build-job.yml @@ -55,15 +55,14 @@ jobs: - name: Compile and build run: yarn clean && yarn compile && yarn build - - name: (DEBUG) Verify artifact contents before upload run: | echo "Listing dist files:" ls -l packages/frontend/dist echo "bundle.js hash:" sha256sum packages/frontend/dist/bundle.js - sed -n '122663p' packages/frontend/dist/bundle.js - + echo "length of line 122663:" + sed -n '122663p' packages/frontend/dist/bundle.js | wc -c - name: Upload dist and lib uses: actions/upload-artifact@v4 diff --git a/.github/workflows/reusable-deploy-job.yml b/.github/workflows/reusable-deploy-job.yml index 3096ad0..89d5b57 100644 --- a/.github/workflows/reusable-deploy-job.yml +++ b/.github/workflows/reusable-deploy-job.yml @@ -94,26 +94,11 @@ jobs: ls -l packages/frontend/dist echo "bundle.js hash:" sha256sum packages/frontend/dist/bundle.js - sed -n '122663p' packages/frontend/dist/bundle.js + echo "length of line 122663:" + sed -n '122663p' packages/frontend/dist/bundle.js | wc -c - name: Deploy Frontend - run: serverless s3sync bucket --bucket ${{ secrets.COMPANY_ABBREVIATION }}-lara-frontend-${{ inputs.target }} --dir packages/frontend/dist --verbose - - - name: (DEBUG) Verify artifact contents after serverless upload - run: | - echo "Listing dist files:" - ls -l packages/frontend/dist - echo "bundle.js hash:" - sha256sum packages/frontend/dist/bundle.js - sed -n '122663p' packages/frontend/dist/bundle.js + run: serverless s3sync bucket --bucket ${{ secrets.COMPANY_ABBREVIATION }}-lara-frontend-${{ inputs.target }} - name: Deploy Backends run: serverless deploy --stage ${{ inputs.target }} - - - name: (DEBUG) Verify artifact contents after serverless deploy - run: | - echo "Listing dist files:" - ls -l packages/frontend/dist - echo "bundle.js hash:" - sha256sum packages/frontend/dist/bundle.js - sed -n '122663p' packages/frontend/dist/bundle.js diff --git a/packages/frontend/webpack.config.js b/packages/frontend/webpack.config.js index 98e9eeb..aa5154e 100644 --- a/packages/frontend/webpack.config.js +++ b/packages/frontend/webpack.config.js @@ -26,10 +26,10 @@ const getEnvironmentConfig = () => { const name = ENVIRONMENT_NAME ?? DEFAULT_ENVIRONMENT // For local development we load the variables from .env file - const envVarsPath = path.resolve(__dirname, '../../.env') const { parsed } = dotenv.config({ path: envVarsPath }) if (parsed) { + console.log(`Using environment variables from ${envVarsPath}`) return { name, mode: parsed.MODE, @@ -44,7 +44,8 @@ const getEnvironmentConfig = () => { } // if running in CI/CD we load the variables from process.env. - // The values are injected by Gitlab + // The values are injected by GitHub + console.log(`Using injected environment variables from process.env`) return { name, mode: MODE ?? '', From edd3dae6d7b5184dbe536c829169e3a22bcfe5cc Mon Sep 17 00:00:00 2001 From: alexander-schefe Date: Mon, 11 Aug 2025 11:40:24 +0200 Subject: [PATCH 4/5] fix: only load from .env when not in CI/CD --- .github/workflows/reusable-build-job.yml | 2 -- .github/workflows/reusable-deploy-job.yml | 9 ------- packages/frontend/webpack.config.js | 31 +++++++++++++---------- 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/.github/workflows/reusable-build-job.yml b/.github/workflows/reusable-build-job.yml index 2c4f4ab..6be7c01 100644 --- a/.github/workflows/reusable-build-job.yml +++ b/.github/workflows/reusable-build-job.yml @@ -57,8 +57,6 @@ jobs: - name: (DEBUG) Verify artifact contents before upload run: | - echo "Listing dist files:" - ls -l packages/frontend/dist echo "bundle.js hash:" sha256sum packages/frontend/dist/bundle.js echo "length of line 122663:" diff --git a/.github/workflows/reusable-deploy-job.yml b/.github/workflows/reusable-deploy-job.yml index 89d5b57..e9fcae7 100644 --- a/.github/workflows/reusable-deploy-job.yml +++ b/.github/workflows/reusable-deploy-job.yml @@ -88,15 +88,6 @@ jobs: echo "FRONTEND_URL_WITHOUT_HTTPS=$(echo ${{ secrets.FRONTEND_URL }} | sed 's/^https:\/\///')" >> $GITHUB_ENV echo "BACKEND_URL_WITHOUT_HTTPS=$(echo ${{ secrets.BACKEND_URL }} | sed 's/^https:\/\///')" >> $GITHUB_ENV - - name: (DEBUG) Verify artifact contents before serverless upload - run: | - echo "Listing dist files:" - ls -l packages/frontend/dist - echo "bundle.js hash:" - sha256sum packages/frontend/dist/bundle.js - echo "length of line 122663:" - sed -n '122663p' packages/frontend/dist/bundle.js | wc -c - - name: Deploy Frontend run: serverless s3sync bucket --bucket ${{ secrets.COMPANY_ABBREVIATION }}-lara-frontend-${{ inputs.target }} diff --git a/packages/frontend/webpack.config.js b/packages/frontend/webpack.config.js index aa5154e..8561b81 100644 --- a/packages/frontend/webpack.config.js +++ b/packages/frontend/webpack.config.js @@ -26,20 +26,23 @@ const getEnvironmentConfig = () => { const name = ENVIRONMENT_NAME ?? DEFAULT_ENVIRONMENT // For local development we load the variables from .env file - const envVarsPath = path.resolve(__dirname, '../../.env') - const { parsed } = dotenv.config({ path: envVarsPath }) - if (parsed) { - console.log(`Using environment variables from ${envVarsPath}`) - return { - name, - mode: parsed.MODE, - microsoftClientID: parsed.MICROSOFT_CLIENT_ID, - microsoftTenantID: parsed.MICROSOFT_TENANT_ID, - debug: parsed.DEBUG === 'true', - authHeader: parsed.AUTH_HEADER, - backendUrl: parsed.BACKEND_URL, - frontendUrl: parsed.FRONTEND_URL, - supportMail: parsed.SUPPORT_MAIL, + console.log('process.env.CI: ' + process.env.CI) + if (!process.env.CI) { + const envVarsPath = path.resolve(__dirname, '../../.env') + const { parsed } = dotenv.config({ path: envVarsPath }) + if (parsed) { + console.log(`Using environment variables from ${envVarsPath}`) + return { + name, + mode: parsed.MODE, + microsoftClientID: parsed.MICROSOFT_CLIENT_ID, + microsoftTenantID: parsed.MICROSOFT_TENANT_ID, + debug: parsed.DEBUG === 'true', + authHeader: parsed.AUTH_HEADER, + backendUrl: parsed.BACKEND_URL, + frontendUrl: parsed.FRONTEND_URL, + supportMail: parsed.SUPPORT_MAIL, + } } } From 2c535255c207ae72a63365a9f6ffac8cd0e7d878 Mon Sep 17 00:00:00 2001 From: alexander-schefe Date: Mon, 11 Aug 2025 11:46:03 +0200 Subject: [PATCH 5/5] chore: removed debug logging --- .github/workflows/reusable-build-job.yml | 7 ------- packages/frontend/webpack.config.js | 4 ++++ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/reusable-build-job.yml b/.github/workflows/reusable-build-job.yml index 6be7c01..8e54c31 100644 --- a/.github/workflows/reusable-build-job.yml +++ b/.github/workflows/reusable-build-job.yml @@ -55,13 +55,6 @@ jobs: - name: Compile and build run: yarn clean && yarn compile && yarn build - - name: (DEBUG) Verify artifact contents before upload - run: | - echo "bundle.js hash:" - sha256sum packages/frontend/dist/bundle.js - echo "length of line 122663:" - sed -n '122663p' packages/frontend/dist/bundle.js | wc -c - - name: Upload dist and lib uses: actions/upload-artifact@v4 with: diff --git a/packages/frontend/webpack.config.js b/packages/frontend/webpack.config.js index 8561b81..b0c4eda 100644 --- a/packages/frontend/webpack.config.js +++ b/packages/frontend/webpack.config.js @@ -43,6 +43,10 @@ const getEnvironmentConfig = () => { frontendUrl: parsed.FRONTEND_URL, supportMail: parsed.SUPPORT_MAIL, } + } else { + throw new Error( + `Failed to load environment variables from ${envVarsPath}. Please ensure the file exists and is correctly formatted.` + ) } }