{{tag>github dotenv js cicd}}
====== Add dotenv (.env) file in Github action ======
Instead of creating variables one by one in GH action like so:
- name: 'Create env file'
run: |
touch .env
echo API_ENDPOINT="https://xxx.execute-api.us-west-2.amazonaws.com" >> .env
echo API_KEY=${{ secrets.API_KEY }} >> .env
cat .env
You can base64 encode the entire .env file and c/p it into the Github secrets variable.
Encode the file:
cat apps/myapp/.env | base64 -w 0
Now c/p the output from above command to GH secrets, go to //repository Settings > Secrets and variables > Actions > New repository secret//.
Next in the github workflow decode the secret and redirect it to the .env e.g.
...
- name: Create .env
env:
ENV_SECRET: ${{ secrets.DOTENV_STY }}
run: |
echo "$ENV_SECRET" | base64 --decode > apps/myapp/.env
...
====== Tested on ======
* Github actions 2025.02
====== See also ======
* [[wiki:github_actions_examples|Github actions examples]]
====== References ======
* https://stackoverflow.com/a/64452700/6881647