Skip to content

Commit effe248

Browse files
authored
Migrate preview deployment from Azure to AWS S3
Replaced Azure upload steps with AWS S3 sync for PR previews.
1 parent d4d0ed0 commit effe248

File tree

1 file changed

+57
-37
lines changed

1 file changed

+57
-37
lines changed

.github/workflows/docs-build-push-aws.yml

Lines changed: 57 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -161,23 +161,29 @@ jobs:
161161
162162
echo "DEPLOYMENT_DOMAIN=${DOMAIN}" >> $GITHUB_ENV
163163
164-
- name: Azure login
165-
uses: azure/login@a65d910e8af852a8061c627c456678983e180302 # v2.2.0
166-
with:
167-
creds: ${{ secrets.AZURE_CREDENTIALS }}
168-
169-
- name: Retrieve secrets from Keyvault
170-
id: keyvault
171-
uses: azure/cli@089eac9d8cc39f5d003e94f8b65efc51076c9cbd # v2.1.0
164+
# - name: Azure login
165+
# uses: azure/login@a65d910e8af852a8061c627c456678983e180302 # v2.2.0
166+
# with:
167+
# creds: ${{ secrets.AZURE_CREDENTIALS }}
168+
169+
- name: Configure AWS credentials
170+
uses: aws-actions/configure-aws-credentials@v4
172171
with:
173-
inlineScript: |
174-
secrets_get=(resourceGroupName cdnProfileName cdnName accountName)
175-
for secret_get in ${secrets_get[@]}
176-
do
177-
value=$(az keyvault secret show --name $secret_get --vault-name ${{ secrets.AZURE_KEY_VAULT }} --query value --output tsv)
178-
echo "::add-mask::$value"
179-
echo "$secret_get=$value" >> $GITHUB_OUTPUT
180-
done
172+
role-to-assume: arn:aws:iam::${{ AWS_ACCOUNT_ID }}:role/${{ AWS_ROLE_NAME }}
173+
aws-region: ${{ AWS_REGION }}
174+
175+
# - name: Retrieve secrets from Keyvault
176+
# id: keyvault
177+
# uses: azure/cli@089eac9d8cc39f5d003e94f8b65efc51076c9cbd # v2.1.0
178+
# with:
179+
# inlineScript: |
180+
# secrets_get=(resourceGroupName cdnProfileName cdnName accountName)
181+
# for secret_get in ${secrets_get[@]}
182+
# do
183+
# value=$(az keyvault secret show --name $secret_get --vault-name ${{ secrets.AZURE_KEY_VAULT }} --query value --output tsv)
184+
# echo "::add-mask::$value"
185+
# echo "$secret_get=$value" >> $GITHUB_OUTPUT
186+
# done
181187

182188
- name: Checkout docs content
183189
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.7.1
@@ -262,30 +268,44 @@ jobs:
262268
run: |
263269
make deploy
264270
265-
### Azure upload
271+
### AWS upload
266272

273+
- id: make_safe_repo
274+
run: echo "safe_repo=${GITHUB_REPOSITORY//\//-}" >> "$GITHUB_OUTPUT"
275+
267276
- name: Azure upload PR preview
268-
uses: azure/cli@089eac9d8cc39f5d003e94f8b65efc51076c9cbd # v2.1.0
269277
if: github.event.action == 'synchronize' || github.event.action == 'opened' || env.DEPLOYMENT_ENV == 'preview'
270-
with:
271-
inlineScript: |
272-
cd ${{inputs.docs_build_path}} \
273-
&& az storage blob upload-batch \
274-
-s $DOCS_SOURCE_PATH \
275-
-d '$web' \
276-
--destination-path "dev/${{github.repository}}/previews/${PR_NUMBER}" \
277-
--account-name ${{steps.keyvault.outputs.accountName}} \
278-
--overwrite \
279-
--content-cache-control "max-age=3600" \
280-
--auth-mode login
281-
282-
az afd endpoint purge \
283-
--resource-group ${{steps.keyvault.outputs.resourceGroupName}} \
284-
--profile-name ${{steps.keyvault.outputs.cdnProfileName}} \
285-
--endpoint-name ${{steps.keyvault.outputs.cdnName}} \
286-
--domains $DOMAIN_PREVIEW \
287-
--content-paths "${PREVIEW_URL_PATH}/*" \
288-
--no-wait
278+
run: |
279+
cd ${{inputs.docs_build_path}} \
280+
&& aws s3 sync \
281+
$DOCS_SOURCE_PATH/ \
282+
s3://${{ S3_BUCKET_PREVIEW }}/dev/${{ steps.make_safe_repo.outputs.safe_repo }}/previews/${PR_NUMBER}/ \
283+
--delete --exact-timestamps
284+
285+
# ### Azure upload
286+
#
287+
# - name: Azure upload PR preview
288+
# uses: azure/cli@089eac9d8cc39f5d003e94f8b65efc51076c9cbd # v2.1.0
289+
# if: github.event.action == 'synchronize' || github.event.action == 'opened' || env.DEPLOYMENT_ENV == 'preview'
290+
# with:
291+
# inlineScript: |
292+
# cd ${{inputs.docs_build_path}} \
293+
# && az storage blob upload-batch \
294+
# -s $DOCS_SOURCE_PATH \
295+
# -d '$web' \
296+
# --destination-path "dev/${{github.repository}}/previews/${PR_NUMBER}" \
297+
# --account-name ${{steps.keyvault.outputs.accountName}} \
298+
# --overwrite \
299+
# --content-cache-control "max-age=3600" \
300+
# --auth-mode login
301+
#
302+
# az afd endpoint purge \
303+
# --resource-group ${{steps.keyvault.outputs.resourceGroupName}} \
304+
# --profile-name ${{steps.keyvault.outputs.cdnProfileName}} \
305+
# --endpoint-name ${{steps.keyvault.outputs.cdnName}} \
306+
# --domains $DOMAIN_PREVIEW \
307+
# --content-paths "${PREVIEW_URL_PATH}/*" \
308+
# --no-wait
289309

290310
- name: Azure upload to specified environment
291311
uses: azure/cli@089eac9d8cc39f5d003e94f8b65efc51076c9cbd # v2.1.0

0 commit comments

Comments
 (0)