@@ -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 }}
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,30 +174,64 @@ 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
180+ - name : Debug deploy ${{ needs.set_deploy_environment.outputs.github_environment }}
181+ id : debug-deploy
182+ if : always() && (steps.deploy.outcome == 'failure' || steps.post_deploy.outcome == 'failure' )
183+ env :
184+ NETLIFY_DEPLOY_PREFIX : ${{ needs.set_deploy_environment.outputs.netlify_deploy_prefix }}
185+ NETLIFY_DEPLOY_ALIAS : ${{ needs.set_deploy_environment.outputs.netlify_deploy_alias }}
186+ SITE_GA_ID : ${{ vars.SITE_GA_ID }}
187+ SITE_SWETRIX_ID : ${{ vars.SITE_SWETRIX_ID }}
188+ SITE_COUNTER_ANALYTICS_ID : ${{ vars.SITE_COUNTER_ANALYTICS_ID }}
189+ SITE_DISQUS_ID : ${{ vars.SITE_DISQUS_ID }}
190+ shell : bash
191+ run : |
192+ echo "node version $(node -v)"
193+ echo "pnpm version $(pnpm -v)"
194+ ([[ ${PROD:-false} == "true" ]] && \
195+ GA_ID=$SITE_GA_ID \
196+ SWETRIX_ID="${SITE_SWETRIX_ID}" \
197+ COUNTER_ANALYTICS_ID="${SITE_COUNTER_ANALYTICS_ID}" \
198+ DISQUS_ID="${SITE_DISQUS_ID}" \
199+ pnpm netlify deploy \
200+ --auth ${{ env.NETLIFY_AUTH_TOKEN }} \
201+ --site ${{ env.NETLIFY_SITE_ID }} \
202+ --build \
203+ --context production \
204+ --message "$(git log -1 --pretty=%s)" \
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}" \
210+ pnpm netlify deploy \
211+ --auth ${{ env.NETLIFY_AUTH_TOKEN }} \
212+ --site ${{ env.NETLIFY_SITE_ID }} \
213+ --build \
214+ --context deploy-preview \
215+ --alias "${NETLIFY_DEPLOY_ALIAS}" \
216+ --message "$(git log -1 --pretty=%s)"
168217 outputs :
169218 success : ${{ steps.deploy.outputs.success }}
170219
171220 delete_resources :
172221 needs :
173222 - set_deploy_environment
174223 - deploy
175- if : needs.deploy.outputs.success == 'true' &&
176- github.base_ref == 'develop' &&
177- github.event.action == 'closed' &&
178- github.event.pull_request.merged == true
224+ if : needs.deploy.outputs.success == 'true' && github.base_ref == 'develop' && github.event.action == 'closed' && github.event.pull_request.merged == true
179225 runs-on : ubuntu-latest
180226 steps :
181227 - name : Delete the PR branch after merged into develop
182228 env :
183229 GH_TOKEN : ${{ secrets.GH_TOKEN }}
184230 GIT_REF_PATH : /repos/${{ github.repository }}/git/refs/heads/${{ github.head_ref }}
185231 run : |
186- STATUS_CODE=$(gh api -i -H "Accept: application/vnd.github+json" $ GIT_REF_PATH | head -1)
187- [[ "$STATUS_CODE" == "HTTP/2.0 200 OK" ]] && \
188- 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}") || \
189235 echo "Branch does not exist, deleting was ignored."
190236
191237 - name : Delete the environment ${{ needs.set_deploy_environment.outputs.github_pr_environment }}
0 commit comments