Skip to content

Commit cfd9aa4

Browse files
committed
fix(pages): retry deploy-pages on transient GitHub failures
1 parent 784e2a4 commit cfd9aa4

1 file changed

Lines changed: 27 additions & 2 deletions

File tree

.github/workflows/pages.yml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,31 @@ jobs:
3131
uses: actions/upload-pages-artifact@v5
3232
with:
3333
path: './docs'
34-
- name: Deploy to GitHub Pages
35-
id: deployment
34+
- name: Deploy to GitHub Pages (attempt 1)
35+
id: deploy1
36+
uses: actions/deploy-pages@v5
37+
continue-on-error: true
38+
- name: Deploy to GitHub Pages (attempt 2)
39+
id: deploy2
40+
if: steps.deploy1.outcome != 'success'
3641
uses: actions/deploy-pages@v5
42+
continue-on-error: true
43+
- name: Deploy to GitHub Pages (attempt 3)
44+
id: deploy3
45+
if: steps.deploy1.outcome != 'success' && steps.deploy2.outcome != 'success'
46+
uses: actions/deploy-pages@v5
47+
continue-on-error: true
48+
- name: Resolve deployment result
49+
id: deployment
50+
if: always()
51+
run: |
52+
if [ "${{ steps.deploy1.outcome }}" = "success" ]; then
53+
echo "page_url=${{ steps.deploy1.outputs.page_url }}" >> "$GITHUB_OUTPUT"
54+
elif [ "${{ steps.deploy2.outcome }}" = "success" ]; then
55+
echo "page_url=${{ steps.deploy2.outputs.page_url }}" >> "$GITHUB_OUTPUT"
56+
elif [ "${{ steps.deploy3.outcome }}" = "success" ]; then
57+
echo "page_url=${{ steps.deploy3.outputs.page_url }}" >> "$GITHUB_OUTPUT"
58+
else
59+
echo "Pages deployment failed after 3 attempts"
60+
exit 1
61+
fi

0 commit comments

Comments
 (0)