Publish Raygun4JS to the pre-release environment #12
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build & Publish Raygun4JS to the pre-release environment | |
on: | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [ 20.x ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install Grunt | |
run: npm install -g grunt | |
- name: Install node modules | |
run: npm install | |
- name: Build | |
id: build_step | |
run: grunt build | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_ACCESS_SECRET }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Publish to S3 Pre-release | |
id: publish_s3 | |
run: aws s3 sync ./dist ${{ secrets.AWS_PUBLISH_TARGET }} | |
- name: Notify Slack | |
id: slack | |
uses: slackapi/[email protected] | |
with: | |
payload: | | |
{ | |
"blocks": [ | |
{ | |
"type": "header", | |
"text": { | |
"type": "plain_text", | |
"text": "A new pre-release version of Raygun4JS has been published" | |
} | |
}, | |
{ | |
"type": "section", | |
"text": { | |
"type": "plain_text", | |
"text": "The Cloudfront cache will need to be invalidated for changes to take effect immediately." | |
} | |
}, | |
{ | |
"type": "section", | |
"text": { | |
"type": "mrkdwn", | |
"text": "<https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|View this action run in GitHub>" | |
} | |
}, | |
{ | |
"type": "section", | |
"fields": [ | |
{ | |
"type": "mrkdwn", | |
"text": "*Branch:*\n`${{ github.ref_name }}`" | |
}, | |
{ | |
"type": "mrkdwn", | |
"text": "*Node version:*\n`${{ matrix.node-version }}`" | |
}, | |
{ | |
"type": "mrkdwn", | |
"text": "*Build status:*\n_${{ steps.build_step.outcome }}_" | |
}, | |
{ | |
"type": "mrkdwn", | |
"text": "*S3 sync status:*\n_${{ steps.publish_s3.outcome }}_" | |
} | |
] | |
} | |
] | |
} | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK |