Skip to content

Commit ed27dfd

Browse files
committed
ci(deploy): correct syntax and add missing environment variable to the deploy command
1 parent 7458855 commit ed27dfd

File tree

1 file changed

+61
-45
lines changed

1 file changed

+61
-45
lines changed

.github/workflows/deploy_to_netlify.yaml

Lines changed: 61 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -25,41 +25,49 @@ jobs:
2525
env:
2626
DEPLOY_ENVIRONMENT: pr-${{ github.event.number }}
2727
run: |
28-
echo "DEPLOY_ENVIRONMENT=$DEPLOY_ENVIRONMENT" >> $GITHUB_ENV
29-
echo "NETLIFY_DEPLOY_PREFIX=${DEPLOY_ENVIRONMENT}--" >> $GITHUB_ENV
30-
echo "NETLIFY_DEPLOY_ALIAS=$DEPLOY_ENVIRONMENT" >> $GITHUB_ENV
28+
{
29+
echo "DEPLOY_ENVIRONMENT=$DEPLOY_ENVIRONMENT"
30+
echo "NETLIFY_DEPLOY_PREFIX=${DEPLOY_ENVIRONMENT}--"
31+
echo "NETLIFY_DEPLOY_ALIAS=$DEPLOY_ENVIRONMENT"
32+
} >> "$GITHUB_ENV"
3133
3234
- name: Set deploy environment as preview
3335
if: github.base_ref == 'develop' && github.event.action == 'closed' && github.event.pull_request.merged == true
3436
env:
3537
DEPLOY_ENVIRONMENT: preview
3638
PR_DEPLOY_ENVIRONMENT: pr-${{ github.event.number }}
3739
run: |
38-
echo "DEPLOY_ENVIRONMENT=$DEPLOY_ENVIRONMENT" >> $GITHUB_ENV
39-
echo "PR_DEPLOY_ENVIRONMENT=$PR_DEPLOY_ENVIRONMENT" >> $GITHUB_ENV
40-
echo "NETLIFY_DEPLOY_PREFIX=${DEPLOY_ENVIRONMENT}--" >> $GITHUB_ENV
41-
echo "NETLIFY_DEPLOY_ALIAS=$DEPLOY_ENVIRONMENT" >> $GITHUB_ENV
40+
{
41+
echo "DEPLOY_ENVIRONMENT=$DEPLOY_ENVIRONMENT"
42+
echo "PR_DEPLOY_ENVIRONMENT=$PR_DEPLOY_ENVIRONMENT"
43+
echo "NETLIFY_DEPLOY_PREFIX=${DEPLOY_ENVIRONMENT}--"
44+
echo "NETLIFY_DEPLOY_ALIAS=$DEPLOY_ENVIRONMENT"
45+
} >> "$GITHUB_ENV"
4246
4347
- name: Set deploy environment as staging
4448
if: github.base_ref == 'main' && contains(fromJSON('["opened", "synchronize"]'), github.event.action)
4549
env:
4650
DEPLOY_ENVIRONMENT: staging
4751
run: |
48-
echo "DEPLOY_ENVIRONMENT=$DEPLOY_ENVIRONMENT" >> $GITHUB_ENV
49-
echo "NETLIFY_DEPLOY_PREFIX=${DEPLOY_ENVIRONMENT}--" >> $GITHUB_ENV
50-
echo "NETLIFY_DEPLOY_ALIAS=$DEPLOY_ENVIRONMENT" >> $GITHUB_ENV
52+
{
53+
echo "DEPLOY_ENVIRONMENT=$DEPLOY_ENVIRONMENT"
54+
echo "NETLIFY_DEPLOY_PREFIX=${DEPLOY_ENVIRONMENT}--"
55+
echo "NETLIFY_DEPLOY_ALIAS=$DEPLOY_ENVIRONMENT"
56+
} >> "$GITHUB_ENV"
5157
5258
- name: Set deploy environment as production
5359
if: github.base_ref == 'main' && github.event.action == 'closed' && github.event.pull_request.merged == true
54-
run: echo "DEPLOY_ENVIRONMENT=production" >> $GITHUB_ENV
60+
run: echo "DEPLOY_ENVIRONMENT=production" >> "$GITHUB_ENV"
5561

5662
- name: Set deploy environment output
5763
id: deploy_environment
5864
run: |
59-
echo "github_environment=$DEPLOY_ENVIRONMENT" >> $GITHUB_OUTPUT
60-
echo "github_pr_environment=$PR_DEPLOY_ENVIRONMENT" >> $GITHUB_OUTPUT
61-
echo "netlify_deploy_prefix=$NETLIFY_DEPLOY_PREFIX" >> $GITHUB_OUTPUT
62-
echo "netlify_deploy_alias=$NETLIFY_DEPLOY_ALIAS" >> $GITHUB_OUTPUT
65+
{
66+
echo "github_environment=$DEPLOY_ENVIRONMENT"
67+
echo "github_pr_environment=$PR_DEPLOY_ENVIRONMENT"
68+
echo "netlify_deploy_prefix=$NETLIFY_DEPLOY_PREFIX"
69+
echo "netlify_deploy_alias=$NETLIFY_DEPLOY_ALIAS"
70+
} >> "$GITHUB_OUTPUT"
6371
6472
outputs:
6573
github_environment: ${{ steps.deploy_environment.outputs.github_environment }}
@@ -91,7 +99,7 @@ jobs:
9199

92100
- name: Get PNPM store directory
93101
id: pnpm-cache
94-
run: echo "pnpm_store_path=$(pnpm store path)" >> $GITHUB_OUTPUT
102+
run: echo "pnpm_store_path=$(pnpm store path)" >> "$GITHUB_OUTPUT"
95103

96104
- name: Setup pnpm cache
97105
uses: actions/cache@v3
@@ -109,7 +117,7 @@ jobs:
109117

110118
- name: Set as production environment
111119
if: needs.set_deploy_environment.outputs.github_environment == 'production'
112-
run: echo "PROD=true" >> $GITHUB_ENV
120+
run: echo "PROD=true" >> "$GITHUB_ENV"
113121

114122
- name: Deploy ${{ needs.set_deploy_environment.outputs.github_environment }}
115123
id: deploy
@@ -124,11 +132,11 @@ jobs:
124132
shell: bash
125133
run: |
126134
set -e
127-
[[ ${PROD:-false} == "true" ]] && \
135+
([[ ${PROD:-false} == "true" ]] && \
128136
OUTPUT=$(GA_ID=$SITE_GA_ID \
129-
SWETRIX_ID=$SITE_SWETRIX_ID \
130-
COUNTER_ANALYTICS_ID=$SITE_COUNTER_ANALYTICS_ID \
131-
DISQUS_ID=$SITE_DISQUS_ID \
137+
SWETRIX_ID="${SITE_SWETRIX_ID}" \
138+
COUNTER_ANALYTICS_ID="${SITE_COUNTER_ANALYTICS_ID}" \
139+
DISQUS_ID="${SITE_DISQUS_ID}" \
132140
pnpm netlify deploy \
133141
--auth ${{ env.NETLIFY_AUTH_TOKEN }} \
134142
--site ${{ env.NETLIFY_SITE_ID }} \
@@ -137,22 +145,26 @@ jobs:
137145
--context production \
138146
--message "$(git log -1 --pretty=%s)" \
139147
--prod \
140-
| tr '\n' ' ') || \
141-
OUTPUT=$(pnpm netlify deploy \
142-
--auth ${{ env.NETLIFY_AUTH_TOKEN }} \
143-
--site ${{ env.NETLIFY_SITE_ID }} \
144-
--json \
145-
--build \
146-
--context deploy-preview \
147-
--alias ${NETLIFY_DEPLOY_ALIAS} \
148-
--message "$(git log -1 --pretty=%s)" \
149-
| tr '\n' ' ')
148+
| tr '\n' ' ')) || \
149+
OUTPUT=$(
150+
SWETRIX_ID="${SITE_SWETRIX_ID}" \
151+
COUNTER_ANALYTICS_ID="${SITE_COUNTER_ANALYTICS_ID}" \
152+
DISQUS_ID="${SITE_DISQUS_ID}" \
153+
pnpm netlify deploy \
154+
--auth ${{ env.NETLIFY_AUTH_TOKEN }} \
155+
--site ${{ env.NETLIFY_SITE_ID }} \
156+
--json \
157+
--build \
158+
--context deploy-preview \
159+
--alias "${NETLIFY_DEPLOY_ALIAS}" \
160+
--message "$(git log -1 --pretty=%s)" \
161+
| tr '\n' ' ')
150162
set +e
151163
152-
NETLIFY_OUTPUT=$(echo "$OUTPUT")
164+
NETLIFY_OUTPUT="$OUTPUT"
153165
154-
echo "netlify_output=$NETLIFY_OUTPUT" >> $GITHUB_OUTPUT
155-
echo "success=true" >> $GITHUB_OUTPUT
166+
echo "netlify_output=$NETLIFY_OUTPUT" >> "$GITHUB_OUTPUT"
167+
echo "success=true" >> "$GITHUB_OUTPUT"
156168
157169
- name: Post deploy ${{ needs.set_deploy_environment.outputs.github_environment }}
158170
id: post_deploy
@@ -162,8 +174,8 @@ jobs:
162174
NETLIFY_PROD_URL: ${{ fromJson(steps.deploy.outputs.netlify_output).url }}
163175
run: |
164176
[[ ${PROD:-false} == "true" ]] && \
165-
echo "netlify_deploy_url=$NETLIFY_PROD_URL" >> $GITHUB_OUTPUT || \
166-
echo "netlify_deploy_url=$NETLIFY_DRAFT_URL" >> $GITHUB_OUTPUT
177+
echo "netlify_deploy_url=$NETLIFY_PROD_URL" >> "$GITHUB_OUTPUT" || \
178+
echo "netlify_deploy_url=$NETLIFY_DRAFT_URL" >> "$GITHUB_OUTPUT"
167179
168180
- name: Debug deploy ${{ needs.set_deploy_environment.outputs.github_environment }}
169181
id: debug-deploy
@@ -179,24 +191,28 @@ jobs:
179191
run: |
180192
echo "node version $(node -v)"
181193
echo "pnpm version $(pnpm -v)"
182-
[[ ${PROD:-false} == "true" ]] && \
194+
([[ ${PROD:-false} == "true" ]] && \
183195
GA_ID=$SITE_GA_ID \
184-
SWETRIX_ID=$SITE_SWETRIX_ID \
185-
COUNTER_ANALYTICS_ID=$SITE_COUNTER_ANALYTICS_ID \
186-
DISQUS_ID=$SITE_DISQUS_ID \
196+
SWETRIX_ID="${SITE_SWETRIX_ID}" \
197+
COUNTER_ANALYTICS_ID="${SITE_COUNTER_ANALYTICS_ID}" \
198+
DISQUS_ID="${SITE_DISQUS_ID}" \
187199
pnpm netlify deploy \
188200
--auth ${{ env.NETLIFY_AUTH_TOKEN }} \
189201
--site ${{ env.NETLIFY_SITE_ID }} \
190202
--build \
191203
--context production \
192204
--message "$(git log -1 --pretty=%s)" \
193-
--prod || \
205+
--prod) || \
206+
GA_ID=$SITE_GA_ID \
207+
SWETRIX_ID="${SITE_SWETRIX_ID}" \
208+
COUNTER_ANALYTICS_ID="${SITE_COUNTER_ANALYTICS_ID}" \
209+
DISQUS_ID="${SITE_DISQUS_ID}" \
194210
pnpm netlify deploy \
195211
--auth ${{ env.NETLIFY_AUTH_TOKEN }} \
196212
--site ${{ env.NETLIFY_SITE_ID }} \
197213
--build \
198214
--context deploy-preview \
199-
--alias ${NETLIFY_DEPLOY_ALIAS} \
215+
--alias "${NETLIFY_DEPLOY_ALIAS}" \
200216
--message "$(git log -1 --pretty=%s)"
201217
outputs:
202218
success: ${{ steps.deploy.outputs.success }}
@@ -213,9 +229,9 @@ jobs:
213229
GH_TOKEN: ${{ secrets.GH_TOKEN }}
214230
GIT_REF_PATH: /repos/${{ github.repository }}/git/refs/heads/${{ github.head_ref }}
215231
run: |
216-
STATUS_CODE=$(gh api -i -H "Accept: application/vnd.github+json" $GIT_REF_PATH | head -1)
217-
[[ "$STATUS_CODE" == "HTTP/2.0 200 OK" ]] && \
218-
gh api --method DELETE -H "Accept: application/vnd.github+json" $GIT_REF_PATH || \
232+
STATUS_CODE=$(gh api -i -H "Accept: application/vnd.github+json" "${GIT_REF_PATH}" | head -1)
233+
([[ "$STATUS_CODE" == "HTTP/2.0 200 OK" ]] && \
234+
gh api --method DELETE -H "Accept: application/vnd.github+json" "${GIT_REF_PATH}") || \
219235
echo "Branch does not exist, deleting was ignored."
220236
221237
- name: Delete the environment ${{ needs.set_deploy_environment.outputs.github_pr_environment }}

0 commit comments

Comments
 (0)