diff --git a/.github/workflows/preview-close.yml b/.github/workflows/preview-close.yml new file mode 100644 index 00000000..7ab26bc7 --- /dev/null +++ b/.github/workflows/preview-close.yml @@ -0,0 +1,29 @@ +name: 'Amplify PR Closed' +on: + pull_request_target: + types: [closed] + +jobs: + delete: + permissions: + id-token: write + if: contains(github.event.pull_request.labels.*.name, 'Preview Environment') + runs-on: ubuntu-latest + steps: + - name: configure AWS credentials + id: creds + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-region: us-east-2 + role-to-assume: ${{ secrets.AWS_GITHUB_ACTIONS_ROLE }} + output-credentials: true + - name: cleanup PR preview branch + uses: mikehosmar/amplify-preview-actions@sed-replace-all + with: + branch_name: ${{ github.head_ref }} + amplify_command: delete + env: + AWS_ACCESS_KEY_ID: ${{ steps.creds.outputs.aws-access-key-id }} + AWS_SECRET_ACCESS_KEY: ${{ steps.creds.outputs.aws-secret-access-key }} + AmplifyAppId: ${{ secrets.AMPLIFY_APP_ID }} + AWS_REGION: 'us-east-2' diff --git a/.github/workflows/preview-rc.yml b/.github/workflows/preview-rc.yml new file mode 100644 index 00000000..6adda457 --- /dev/null +++ b/.github/workflows/preview-rc.yml @@ -0,0 +1,67 @@ +name: Amplify Preview Enable + +on: + create: + branches: + - 'rc/**' + delete: + branches: + - 'rc/**' + +jobs: + deploy-on-create: + if: github.event_name == 'create' + runs-on: ubuntu-latest + permissions: + id-token: write + steps: + - name: configure AWS credentials + id: creds + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-region: us-east-2 + role-to-assume: ${{ secrets.AWS_GITHUB_ACTIONS_ROLE }} + output-credentials: true + - name: Enable Amplify Preview + uses: mikehosmar/amplify-preview-actions@sed-replace-all + with: + branch_name: ${{ github.event.ref }} + amplify_command: deploy + env: + AWS_ACCESS_KEY_ID: ${{ steps.creds.outputs.aws-access-key-id }} + AWS_SECRET_ACCESS_KEY: ${{ steps.creds.outputs.aws-secret-access-key }} + AmplifyAppId: ${{ secrets.AMPLIFY_APP_ID_2 }} + EnablePreview: true + AWS_REGION: 'us-east-2' + + cleanup-on-delete: + if: github.event_name == 'delete' + runs-on: ubuntu-latest + permissions: + id-token: write + steps: + - name: Get ref for pull_request + run: | + echo "BRANCH_NAME=${{ github.head_ref }}" >> $GITHUB_ENV + if: github.event_name == 'pull_request_target' + - name: Get ref for delete + run: | + echo "BRANCH_NAME=${{ github.event.ref }}" >> $GITHUB_ENV + if: github.event_name == 'delete' + - name: configure AWS credentials + id: creds + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-region: us-east-2 + role-to-assume: ${{ secrets.AWS_GITHUB_ACTIONS_ROLE }} + output-credentials: true + - name: cleanup PR preview branch + uses: mikehosmar/amplify-preview-actions@sed-replace-all + with: + branch_name: ${{ env.BRANCH_NAME }} + amplify_command: delete + env: + AWS_ACCESS_KEY_ID: ${{ steps.creds.outputs.aws-access-key-id }} + AWS_SECRET_ACCESS_KEY: ${{ steps.creds.outputs.aws-secret-access-key }} + AmplifyAppId: ${{ secrets.AMPLIFY_APP_ID_2 }} + AWS_REGION: 'us-east-2' diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml new file mode 100644 index 00000000..35fccda3 --- /dev/null +++ b/.github/workflows/preview.yaml @@ -0,0 +1,33 @@ +name: Amplify Preview + +on: + pull_request: + types: [labeled] + +jobs: + deploy: + if: contains(github.event.label.name, 'Preview Environment') + runs-on: ubuntu-latest + continue-on-error: true + permissions: + id-token: write + pull-requests: write + steps: + - name: configure AWS credentials + id: creds + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-region: us-east-2 + role-to-assume: ${{ secrets.AWS_GITHUB_ACTIONS_ROLE }} + output-credentials: true + - name: deploy PR preview + uses: mikehosmar/amplify-preview-actions@sed-replace-all + with: + branch_name: ${{ github.head_ref }} + amplify_command: deploy + env: + AWS_ACCESS_KEY_ID: ${{ steps.creds.outputs.aws-access-key-id }} + AWS_SECRET_ACCESS_KEY: ${{ steps.creds.outputs.aws-secret-access-key }} + AmplifyAppId: ${{ secrets.AMPLIFY_APP_ID }} + AWS_REGION: 'us-east-2' + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}