Skip to content

Commit a9f5837

Browse files
Modify deployment workflow to generate env.js (#139)
Updated the workflow to generate env.js from env.template.js using envsubst, replacing the previous runtime-config.json generation.
1 parent 2ef3a98 commit a9f5837

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

.github/workflows/deploy-aws.yml

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -47,25 +47,30 @@ jobs:
4747
- name: Npm Build
4848
run: npm run build -- --output-path=./dist/out --configuration "deployment"
4949

50-
# Step 4.1: Generate runtime-config.json to inject runtime variables
51-
# Creates a JSON file with environment-specific settings for the app
52-
- name: Generate runtime-config.json
50+
# Step 4.1: Generate env.js from env.template.js (envsubst)
51+
# Replicate Docker CMD behaviour at build time
52+
- name: Generate env.js from env.template.js (envsubst)
53+
env:
54+
FAVICON_SRC: ${{ vars.FAVICON_SRC }}
55+
IAM_EXTERNAL_URL: ${{ vars.IAM_EXTERNAL_URL }}
56+
LOGO_SRC: ${{ vars.LOGO_SRC }}
57+
PRIMARY: ${{ vars.PRIMARY }}
58+
PRIMARY_CONTRAST: ${{ vars.PRIMARY_CONTRAST }}
59+
SECONDARY: ${{ vars.SECONDARY }}
60+
SECONDARY_CONTRAST: ${{ vars.SECONDARY_CONTRAST }}
61+
WALLET_API_EXTERNAL_URL: ${{ vars.WALLET_API_EXTERNAL_URL }}
62+
WALLET_API_WEBSOCKET_EXTERNAL_URL: ${{ vars.WALLET_API_WEBSOCKET_EXTERNAL_URL }}
63+
LOGS_ENABLED: ${{ vars.LOGS_ENABLED }}
5364
run: |
54-
mkdir -p dist/out/assets
55-
cat > dist/out/assets/runtime-config.json << 'EOF'
56-
{
57-
"FAVICON_SRC": "${{ vars.FAVICON_SRC }}",
58-
"IAM_EXTERNAL_URL": "${{ vars.IAM_EXTERNAL_URL }}",
59-
"LOGO_SRC": "${{ vars.LOGO_SRC }}",
60-
"PRIMARY": "${{ vars.PRIMARY }}",
61-
"PRIMARY_CONTRAST": "${{ vars.PRIMARY_CONTRAST }}",
62-
"SECONDARY": "${{ vars.SECONDARY }}",
63-
"SECONDARY_CONTRAST": "${{ vars.SECONDARY_CONTRAST }}",
64-
"WALLET_API_EXTERNAL_URL": "${{ vars.WALLET_API_EXTERNAL_URL }}",
65-
"WALLET_API_WEBSOCKET_EXTERNAL_URL": "${{ vars.WALLET_API_WEBSOCKET_EXTERNAL_URL }}"
66-
"LOGS_ENABLED": "${{ vars.LOGS_ENABLED }}",
67-
}
68-
EOF
65+
sudo apt-get update && sudo apt-get install -y gettext-base
66+
if [ -f dist/out/assets/env.template.js ]; then
67+
envsubst < dist/out/assets/env.template.js > dist/out/assets/env.js
68+
echo "Generated env.js from env.template.js:"
69+
head -n 30 dist/out/assets/env.js || true
70+
else
71+
echo "dist/out/assets/env.template.js not found" >&2
72+
exit 1
73+
fi
6974
7075
# Step 5: Create deployment zip file
7176
# Creates a zip archive of the built application for AWS Amplify deployment

0 commit comments

Comments
 (0)