From fb7e5ea6d4b5b917f21a7837a1a307c37defbafc Mon Sep 17 00:00:00 2001 From: Diogo Soares <32431609+DiogoSoaress@users.noreply.github.com> Date: Tue, 6 Feb 2024 13:29:42 +0100 Subject: [PATCH] chore: branch named PR deployment (#266) * chore: add epic PR deployment step * remove if * if PR and starts with `epic-` * chore: deploy epic PR branch * chore: update job title * chore: replace `dev` deployment for branch name deployment --- .github/workflows/deploy.yml | 46 +++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 075b068ea..88d846f67 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,4 +1,4 @@ -name: Deploy to dev/staging +name: Deploy on: pull_request: @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest permissions: write-all - name: Deploy to dev/staging + name: Deploy to S3 steps: - name: Cancel previous runs @@ -20,6 +20,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: ./.github/workflows/yarn @@ -30,11 +42,10 @@ jobs: is-production: false - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 + uses: aws-actions/configure-aws-credentials@v3 with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: ${{ secrets.AWS_DEFAULT_REGION }} + role-to-assume: ${{ secrets.AWS_ROLE }} + aws-region: ${{ secrets.AWS_REGION }} # Deploy the main branch to staging - name: Deploy to the staging S3 @@ -43,24 +54,31 @@ jobs: BUCKET: s3://${{ secrets.AWS_STAGING_BUCKET_NAME }}/current run: bash ./scripts/github/s3_upload.sh - # Deploy all other branches to dev - - name: Deploy to the dev S3 - if: github.ref != 'refs/heads/main' + # 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_DEVELOPMENT_BUCKET_NAME }} + BUCKET: s3://${{ secrets.AWS_REVIEW_BUCKET_NAME }}/homepage/${{ steps.extract_branch.outputs.branch }} run: bash ./scripts/github/s3_upload.sh - # Comment - - name: Post a deployment link in the PR + # 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 to dev: + ✅ Deployed successfully in branch deployment: - https://safe-web-landing.dev.5afe.dev + https://${{ steps.extract_branch.outputs.branch }}--homepage.review.5afe.dev message-failure: | ## Branch preview ❌ Deploy failed!