From 496b6175be0b8dd14194e0cdc0442847c2a8f761 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Germ=C3=A1n=20Mart=C3=ADnez?= <6764315+germartinez@users.noreply.github.com> Date: Fri, 10 May 2024 12:17:24 +0100 Subject: [PATCH] chore: Add feature branch deployments (#469) * Add branch deployments to deploy script * Fix deploy script --- .github/workflows/deploy.yml | 45 +++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 699de20e..409da8b0 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,9 +1,7 @@ name: Deploy to staging on: - push: - branches: - - main + pull_request: jobs: deploy: @@ -18,6 +16,18 @@ jobs: with: access_token: ${{ github.token }} + # Post a PR comment before deploying + - name: Post a comment while building + if: github.event.number + uses: mshick/add-pr-comment@v2 + with: + message-id: praul + message: | + ## Branch preview + ⏳ Deploying a preview site... + repo-token: ${{ secrets.GITHUB_TOKEN }} + repo-token-user-login: 'github-actions[bot]' + - uses: actions/checkout@v3 - uses: pnpm/action-setup@v2 @@ -46,3 +56,32 @@ jobs: env: BUCKET: s3://${{ secrets.AWS_STAGING_BUCKET_NAME }}/current run: bash ./.github/scripts/s3_upload.sh + + # Extract branch name + - name: Extract branch name + shell: bash + ## Allow only alphanumeric characters and convert to lower case, + run: echo "branch=$(echo $GITHUB_HEAD_REF | sed 's/[^a-z0-9]/_/ig' | sed 's/[A-Z]/\L&/g')" >> $GITHUB_OUTPUT + id: extract_branch + + # Deploy to S3 + - name: Deploy PR branch + if: github.event.number + env: + BUCKET: s3://${{ secrets.AWS_REVIEW_BUCKET_NAME }}/docs/${{ steps.extract_branch.outputs.branch }} + run: bash ./.github/scripts/s3_upload.sh + + # Comment with the deployment link + - name: Post an epic deployment link in the PR + if: always() && github.event.number + uses: mshick/add-pr-comment@v2 + with: + message-id: praul + message: | + ## Branch preview + ✅ Deployed successfully in branch deployment: + + https://${{ steps.extract_branch.outputs.branch }}--docs.review.5afe.dev + message-failure: | + ## Branch preview + ❌ Deploy failed!