1+ name : Preview Create/Update
2+
3+ on :
4+ pull_request :
5+ types :
6+ - opened
7+ - reopened
8+ - synchronize
9+
10+
11+ # Need ID token write permission to use OIDC
12+ permissions :
13+ id-token : write
14+
15+ env :
16+ PR : pr-${{ github.event.number }}
17+ RUN : run-${{ github.run_number }}-${{ github.run_attempt }}
18+
19+ jobs :
20+
21+ build :
22+ name : Update Docs Preview
23+
24+ runs-on : ubuntu-latest
25+
26+ defaults :
27+ run :
28+ shell : bash
29+
30+ steps :
31+ - name : Checkout branch
32+ uses : actions/checkout@v5
33+
34+ - name : Setup Node.js
35+ uses : actions/setup-node@v5
36+ with :
37+ cache : ' yarn'
38+ node-version : 24
39+
40+ - name : Install dependencies
41+ run : yarn install
42+
43+ - name : Build Website
44+ run : yarn antora ./antora-playbook.yml
45+
46+ - name : Rename site folder to docs
47+ run : |
48+ mv ./build/site ./build/docs
49+
50+ - name : Rename sitemap.xml to antora-sitemap.xml
51+ run : |
52+ mv ./build/docs/sitemap.xml ./build/docs/antora-sitemap.xml
53+
54+ - name : configure aws credentials
55+ uses : aws-actions/configure-aws-credentials@v5.0.0
56+ with :
57+ role-to-assume : arn:aws:iam::327995277200:role/staging-tinymce-docs-update
58+ role-session-name : tinymce-docs-update
59+ aws-region : us-east-1
60+
61+ - name : Upload website preview to S3
62+ run : |
63+ aws s3 sync ./build s3://tiny-cloud-antora-docs-preview/${PR}/${RUN}
64+
65+ - name : Create redirects on S3
66+ uses : tinymce/tinymce-docs-generate-redirects-action@v1.0
67+ with :
68+ build : ./build/
69+ redirects : https://raw.githubusercontent.com/tinymce/tinymce-docs/refs/heads/main/redirects.json
70+ bucket : tiny-cloud-antora-docs-preview
71+ prefix : ${{ env.PR }}/${{ env.RUN }}
72+ parallel : 10
73+
74+ - name : Update pointer to current run output
75+ run : |
76+ aws s3api put-object --bucket tiny-cloud-antora-docs-preview --key ${PR}/index.html --body .github/workflows/resources/empty.html --content-type text/html --metadata pointer=${RUN}
0 commit comments