Skip to content

Commit 2d32590

Browse files
committed
Adds plan step in build job
1 parent 62242a1 commit 2d32590

File tree

2 files changed

+71
-32
lines changed

2 files changed

+71
-32
lines changed

.github/workflows/pipeline.yml

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -78,38 +78,38 @@ jobs:
7878
source scripts/utils.sh
7979
init_terraform aws github heroku
8080
81-
# - name: "Generate terraform plan"
82-
# env:
83-
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
84-
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
85-
# TF_VAR_GH_PERSONAL_ACCESS_TOKEN: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
86-
# TF_VAR_DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
87-
# TF_VAR_DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
88-
# TF_VAR_HEROKU_EMAIL: ${{ secrets.HEROKU_EMAIL }}
89-
# TF_VAR_HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
90-
# TF_VAR_EMAIL_SERVICE_CODECOV_TOKEN: ${{ secrets.EMAIL_SERVICE_CODECOV_TOKEN }}
91-
# TF_VAR_API_GATEWAY_CODECOV_TOKEN: ${{ secrets.API_GATEWAY_CODECOV_TOKEN }}
92-
# TF_VAR_EMAIL_SERVICE_DATABASE_URL: ${{ secrets.EMAIL_SERVICE_DATABASE_URL }}
93-
# TF_VAR_EMAIL_SERVICE_MAIL_PASSWORD: ${{ secrets.EMAIL_SERVICE_MAIL_PASSWORD }}
94-
# TF_VAR_EMAIL_SERVICE_MAIL_USERNAME: ${{ secrets.EMAIL_SERVICE_MAIL_USERNAME }}
95-
# TF_VAR_EMAIL_SERVICE_REDIS_TLS_URL: ${{ secrets.EMAIL_SERVICE_REDIS_TLS_URL }}
96-
# TF_VAR_EMAIL_SERVICE_REDIS_URL: ${{ secrets.EMAIL_SERVICE_REDIS_URL }}
97-
# TF_VAR_PROFILE_SERVICE_DATABASE_URL: ${{ secrets.PROFILE_SERVICE_DATABASE_URL }}
98-
# TF_VAR_PROFILE_SERVICE_REDIS_TLS_URL: ${{ secrets.PROFILE_SERVICE_REDIS_TLS_URL }}
99-
# TF_VAR_PROFILE_SERVICE_REDIS_URL: ${{ secrets.PROFILE_SERVICE_REDIS_URL }}
100-
# TF_VAR_WIKI_DATABASE_HOST: ${{ secrets.WIKI_DATABASE_HOST }}
101-
# TF_VAR_WIKI_DATABASE_PORT: ${{ secrets.WIKI_DATABASE_PORT }}
102-
# TF_VAR_WIKI_DATABASE_USER: ${{ secrets.WIKI_DATABASE_USER }}
103-
# TF_VAR_WIKI_DATABASE_PASSWORD: ${{ secrets.WIKI_DATABASE_PASSWORD }}
104-
# TF_VAR_WIKI_DATABASE_NAME: ${{ secrets.WIKI_DATABASE_NAME }}
105-
# TF_VAR_DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
106-
# TF_VAR_TRUSTED_HOSTS: ${{ secrets.TRUSTED_HOSTS }}
107-
# TF_VAR_GAMBLEY_CD_USER_AWS_ACCESS_KEY: ${{ secrets.GAMBLEY_CD_USER_AWS_ACCESS_KEY }}
108-
# TF_VAR_GAMBLEY_CD_USER_AWS_SECRET_KEY: ${{ secrets.GAMBLEY_CD_USER_AWS_SECRET_KEY }}
109-
# TF_VAR_SNYK_SECRET_KEY: ${{ secrets.SNYK_SECRET_KEY }}
110-
# run: |
111-
# source scripts/pipeline_utils.sh
112-
# plan_terraform github heroku aws
81+
- name: "Generate terraform plan"
82+
env:
83+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
84+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
85+
TF_VAR_GH_PERSONAL_ACCESS_TOKEN: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
86+
TF_VAR_DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
87+
TF_VAR_DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
88+
TF_VAR_HEROKU_EMAIL: ${{ secrets.HEROKU_EMAIL }}
89+
TF_VAR_HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
90+
TF_VAR_EMAIL_SERVICE_CODECOV_TOKEN: ${{ secrets.EMAIL_SERVICE_CODECOV_TOKEN }}
91+
TF_VAR_API_GATEWAY_CODECOV_TOKEN: ${{ secrets.API_GATEWAY_CODECOV_TOKEN }}
92+
TF_VAR_EMAIL_SERVICE_DATABASE_URL: ${{ secrets.EMAIL_SERVICE_DATABASE_URL }}
93+
TF_VAR_EMAIL_SERVICE_MAIL_PASSWORD: ${{ secrets.EMAIL_SERVICE_MAIL_PASSWORD }}
94+
TF_VAR_EMAIL_SERVICE_MAIL_USERNAME: ${{ secrets.EMAIL_SERVICE_MAIL_USERNAME }}
95+
TF_VAR_EMAIL_SERVICE_REDIS_TLS_URL: ${{ secrets.EMAIL_SERVICE_REDIS_TLS_URL }}
96+
TF_VAR_EMAIL_SERVICE_REDIS_URL: ${{ secrets.EMAIL_SERVICE_REDIS_URL }}
97+
TF_VAR_PROFILE_SERVICE_DATABASE_URL: ${{ secrets.PROFILE_SERVICE_DATABASE_URL }}
98+
TF_VAR_PROFILE_SERVICE_REDIS_TLS_URL: ${{ secrets.PROFILE_SERVICE_REDIS_TLS_URL }}
99+
TF_VAR_PROFILE_SERVICE_REDIS_URL: ${{ secrets.PROFILE_SERVICE_REDIS_URL }}
100+
TF_VAR_WIKI_DATABASE_HOST: ${{ secrets.WIKI_DATABASE_HOST }}
101+
TF_VAR_WIKI_DATABASE_PORT: ${{ secrets.WIKI_DATABASE_PORT }}
102+
TF_VAR_WIKI_DATABASE_USER: ${{ secrets.WIKI_DATABASE_USER }}
103+
TF_VAR_WIKI_DATABASE_PASSWORD: ${{ secrets.WIKI_DATABASE_PASSWORD }}
104+
TF_VAR_WIKI_DATABASE_NAME: ${{ secrets.WIKI_DATABASE_NAME }}
105+
TF_VAR_DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
106+
TF_VAR_TRUSTED_HOSTS: ${{ secrets.TRUSTED_HOSTS }}
107+
TF_VAR_GAMBLEY_CD_USER_AWS_ACCESS_KEY: ${{ secrets.GAMBLEY_CD_USER_AWS_ACCESS_KEY }}
108+
TF_VAR_GAMBLEY_CD_USER_AWS_SECRET_KEY: ${{ secrets.GAMBLEY_CD_USER_AWS_SECRET_KEY }}
109+
TF_VAR_SNYK_SECRET_KEY: ${{ secrets.SNYK_SECRET_KEY }}
110+
run: |
111+
source scripts/utils.sh
112+
plan_terraform aws github heroku
113113
114114
# deploy:
115115
# if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}

scripts/utils.sh

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,42 @@ validate_terraform() {
3939
infrastructure:"$GITHUB_COMMIT_SHA" -chdir=src/"$dir" validate -json 2>&1
4040
done
4141
}
42+
43+
plan_terraform() {
44+
for dir in "$@"
45+
do
46+
echo "Generating terraform plan for" "$dir"
47+
docker container run \
48+
--env AWS_ACCESS_KEY_ID="$AWS_ACCESS_KEY_ID" \
49+
--env AWS_SECRET_ACCESS_KEY="$AWS_SECRET_ACCESS_KEY" \
50+
--env TF_VAR_GH_PERSONAL_ACCESS_TOKEN="$GH_PERSONAL_ACCESS_TOKEN" \
51+
--env TF_VAR_DOCKERHUB_USERNAME="$DOCKERHUB_USERNAME" \
52+
--env TF_VAR_DOCKERHUB_TOKEN="$DOCKERHUB_TOKEN" \
53+
--env TF_VAR_HEROKU_EMAIL="$HEROKU_EMAIL" \
54+
--env TF_VAR_HEROKU_API_KEY="$HEROKU_API_KEY" \
55+
--env TF_VAR_EMAIL_SERVICE_CODECOV_TOKEN="$EMAIL_SERVICE_CODECOV_TOKEN" \
56+
--env TF_VAR_API_GATEWAY_CODECOV_TOKEN="$API_GATEWAY_CODECOV_TOKEN" \
57+
--env TF_VAR_EMAIL_SERVICE_DATABASE_URL="$EMAIL_SERVICE_DATABASE_URL" \
58+
--env TF_VAR_EMAIL_SERVICE_MAIL_PASSWORD="$EMAIL_SERVICE_MAIL_PASSWORD" \
59+
--env TF_VAR_EMAIL_SERVICE_MAIL_USERNAME="$EMAIL_SERVICE_MAIL_USERNAME" \
60+
--env TF_VAR_EMAIL_SERVICE_REDIS_TLS_URL="$EMAIL_SERVICE_REDIS_TLS_URL" \
61+
--env TF_VAR_EMAIL_SERVICE_REDIS_URL="$EMAIL_SERVICE_REDIS_URL" \
62+
--env TF_VAR_PROFILE_SERVICE_DATABASE_URL="$PROFILE_SERVICE_DATABASE_URL" \
63+
--env TF_VAR_PROFILE_SERVICE_REDIS_TLS_URL="$PROFILE_SERVICE_REDIS_TLS_URL" \
64+
--env TF_VAR_PROFILE_SERVICE_REDIS_URL="$PROFILE_SERVICE_REDIS_URL" \
65+
--env TF_VAR_WIKI_DATABASE_HOST="$WIKI_DATABASE_HOST" \
66+
--env TF_VAR_WIKI_DATABASE_PORT="$WIKI_DATABASE_PORT" \
67+
--env TF_VAR_WIKI_DATABASE_USER="$WIKI_DATABASE_USER" \
68+
--env TF_VAR_WIKI_DATABASE_PASSWORD="$WIKI_DATABASE_PASSWORD" \
69+
--env TF_VAR_WIKI_DATABASE_NAME="$WIKI_DATABASE_NAME" \
70+
--env TF_VAR_DISCORD_WEBHOOK_URL="$DISCORD_WEBHOOK_URL" \
71+
--env TF_VAR_TRUSTED_HOSTS="$TRUSTED_HOSTS" \
72+
--env TF_VAR_GAMBLEY_CD_USER_AWS_ACCESS_KEY="$GAMBLEY_CD_USER_AWS_ACCESS_KEY" \
73+
--env TF_VAR_GAMBLEY_CD_USER_AWS_SECRET_KEY="$GAMBLEY_CD_USER_AWS_SECRET_KEY" \
74+
--env TF_VAR_SNYK_SECRET_KEY="$SNYK_SECRET_KEY" \
75+
--volume aws-provider:/app/src/aws/.terraform \
76+
--volume github-provider:/app/src/github/.terraform \
77+
--volume heroku-provider:/app/src/heroku/.terraform \
78+
infrastructure:"$GITHUB_COMMIT_SHA" -chdir=src/"$dir" plan -input=false 2>&1
79+
done
80+
}

0 commit comments

Comments
 (0)