11name : Deploy Website Preview to Amplify
22on :
33 pull_request :
4+ types : [ opened, synchronize, reopened ]
45 branches : [ main ]
56 paths : [ website/** ]
67jobs :
2122 echo PR_NUMBER="$pr_number"
2223 echo BRANCH_NAME="pr-$pr_number"
2324 } >> "$GITHUB_ENV"
24- - name : Install Go
25- uses : actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
26- with :
27- go-version-file : test/hack/resource/parse-redirects/go.mod
28- check-latest : true
29- cache-dependency-path : " test/hack/resource/go.sum"
30- - name : Install Hugo
31- uses : peaceiris/actions-hugo@16361eb4acea8698b220b76c0d4e84e1fd22c61d # v2.6.0
32- with :
33- hugo-version : ' 0.120.3'
34- extended : true
3525 - name : Configure AWS credentials
3626 uses : aws-actions/configure-aws-credentials@b47578312673ae6fa5b5096b330d9fbac3d116df # v4.2.1
3727 with :
@@ -42,41 +32,17 @@ jobs:
4232 APP_DOMAIN=$(aws amplify get-app --app-id ${{ vars.AMPLIFY_APP_ID_BETA }} --query 'app.defaultDomain' --output text)
4333 PREVIEW_URL="https://${{ env.BRANCH_NAME }}.$APP_DOMAIN"
4434 echo PREVIEW_URL="$PREVIEW_URL" >> "$GITHUB_ENV"
45- - name : Build Hugo site (deploy-preview context)
46- working-directory : website
47- env :
48- HUGO_ENV : production
49- HUGO_ENABLEGITINFO : true
50- TZ : America/Los_Angeles
51- HUGO_CACHEDIR : ${{ github.workspace }}/.hugo
52- NPM_CONFIG_CACHE : ${{ github.workspace }}/.npm
53- run : |
54- npm ci --prefer-offline
55- hugo --gc --minify --buildFuture -b "${{ env.PREVIEW_URL }}"
56- - name : Upload to S3
57- run : |
58- aws s3 sync website/public/ s3://${{ vars.AMPLIFY_S3_BUCKET_BETA }}/pr-${{ env.PR_NUMBER }}/ --delete
59- - name : Create Amplify branch (if doesn't exist)
60- run : |
61- if ! aws amplify get-branch --app-id ${{ vars.AMPLIFY_APP_ID_BETA }} --branch-name "${{ env.BRANCH_NAME }}" 2>/dev/null; then
62- aws amplify create-branch \
63- --app-id ${{ vars.AMPLIFY_APP_ID_BETA }} \
64- --branch-name "${{ env.BRANCH_NAME }}" \
65- --description "Preview for PR #${{ env.PR_NUMBER }}"
66- fi
67- - name : Configure redirects
68- run : |
69- REDIRECT_RULES=$(go run test/hack/resource/parse-redirects/main.go)
70- aws amplify update-app \
71- --app-id ${{ vars.AMPLIFY_APP_ID_BETA }} \
72- --custom-rules "$REDIRECT_RULES"
73- - name : Deploy to Amplify
74- run : |
75- aws amplify start-deployment \
76- --app-id ${{ vars.AMPLIFY_APP_ID_BETA }} \
77- --branch-name "${{ env.BRANCH_NAME }}" \
78- --source-url s3://${{ vars.AMPLIFY_S3_BUCKET_BETA }}/pr-${{ env.PR_NUMBER }}/ \
79- --source-url-type BUCKET_PREFIX
35+ - name : Deploy website
36+ uses : ./.github/actions/deploy-website
37+ with :
38+ aws-role-arn : arn:aws:iam::${{ vars.RELEASE_PREVIEW_ACCOUNT_ID }}:role/${{ vars.WEBSITE_ROLE_NAME }}
39+ aws-region : ${{ vars.AMPLIFY_REGION }}
40+ amplify-app-id : ${{ vars.AMPLIFY_APP_ID_BETA }}
41+ amplify-branch-name : ${{ env.BRANCH_NAME }}
42+ s3-bucket : ${{ vars.AMPLIFY_S3_BUCKET_BETA }}/
43+ s3-prefix : pr-${{ env.PR_NUMBER }}
44+ hugo-base-url : ${{ env.PREVIEW_URL }}
45+ preview : ' true'
8046 - uses : actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
8147 env :
8248 PREVIEW_URL : ${{ env.PREVIEW_URL }}
0 commit comments