Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: slack notification for release to production (gh-action) #5083

Merged
merged 13 commits into from
Dec 18, 2024
59 changes: 54 additions & 5 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,13 @@ jobs:
node-version: "20"
cache: "npm"

- run: npm ci

- run: |
echo "CURRENT_STEP=npm ci" >> $GITHUB_ENV
npm ci

- name: Build
run: |
echo "CURRENT_STEP=Build" >> $GITHUB_ENV
touch .env
make versions-ci
make build-ci
Expand All @@ -73,10 +76,24 @@ jobs:

- name: Upload to AWS
run: |
echo "CURRENT_STEP=Upload to AWS" >> $GITHUB_ENV
aws s3 sync --cache-control 'public, max-age=604800' --exclude '*.html' --exclude '*.xml' --exclude build/scripts/ build/ s3://docs.spectrocloud.com --delete
aws s3 sync --cache-control 'public, max-age=0, s-maxage=604800' build/ s3://docs.spectrocloud.com --delete
aws cloudfront create-invalidation --distribution-id ${{ secrets.DISTRIBUTION_ID }} --paths "/*"

- name: Slack Notification on Failure
if: ${{ failure() }}
uses: rtCamp/[email protected]
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_PRIVATE_TEAM_WEBHOOK }}
SLACK_USERNAME: "spectromate"
SLACK_ICON_EMOJI: ":robot_panic:"
SLACK_COLOR: "danger"
SLACKIFY_MARKDOWN: true
ENABLE_ESCAPES: true
SLACK_MESSAGE: "The self-hosted runner release job for `${{ github.workflow }}` in `${{ github.repository }}` failed at step: `${{ env.CURRENT_STEP }}`. [View details](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})."


# Use this workflow if you want to use the GitHub-hosted large runner. Useful for scenarios when you need a change to deploy faster than the self-hosted runner can build it.
build-large-runner:
if: ${{ github.event.inputs.useGitHubHostedLargeRunner == 'true' && github.event_name != 'schedule' }}
Expand All @@ -98,13 +115,17 @@ jobs:
node-version: "20"
cache: "npm"

- run: npm ci
- run: |
echo "CURRENT_STEP=npm ci" >> $GITHUB_ENV
npm ci

- name: Versions
run: |
echo "CURRENT_STEP=Versions" >> $GITHUB_ENV
benradstone marked this conversation as resolved.
Show resolved Hide resolved

- name: Build
run: |
echo "CURRENT_STEP=Build" >> $GITHUB_ENV
touch .env
make versions-ci
make build-ci
Expand All @@ -117,10 +138,22 @@ jobs:

- name: Upload to AWS
run: |
echo "CURRENT_STEP=Upload to AWS" >> $GITHUB_ENV
aws s3 sync --cache-control 'public, max-age=604800' --exclude '*.html' --exclude '*.xml' --exclude build/scripts/ build/ s3://docs.spectrocloud.com --delete
aws s3 sync --cache-control 'public, max-age=0, s-maxage=604800' build/ s3://docs.spectrocloud.com --delete
aws cloudfront create-invalidation --distribution-id ${{ secrets.DISTRIBUTION_ID }} --paths "/*"

- name: Slack Notification on Failure
if: ${{ failure() }}
uses: rtCamp/[email protected]
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_PRIVATE_TEAM_WEBHOOK }}
SLACK_USERNAME: "spectromate"
SLACK_ICON_EMOJI: ":robot_panic:"
SLACK_COLOR: "danger"
SLACKIFY_MARKDOWN: true
ENABLE_ESCAPES: true
SLACK_MESSAGE: "The large runner release job for `${{ github.workflow }}` in `${{ github.repository }}` failed at step: `${{ env.CURRENT_STEP }}`. [View details](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})."

release:
name: "Release"
Expand Down Expand Up @@ -152,9 +185,25 @@ jobs:
cache: "npm"

- name: Install dependencies
run: npm ci
run: |
echo "CURRENT_STEP=Install dependencies" >> $GITHUB_ENV
npm ci

- name: "release"
env:
GITHUB_TOKEN: ${{ steps.import-secrets.outputs.VAULT_GITHUB_TOKEN }}
run: npx semantic-release
run: |
echo "CURRENT_STEP=release" >> $GITHUB_ENV
npx semantic-release

- name: Slack Notification on Failure
if: ${{ failure() }}
uses: rtCamp/[email protected]
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_PRIVATE_TEAM_WEBHOOK }}
SLACK_USERNAME: "spectromate"
SLACK_ICON_EMOJI: ":robot_panic:"
SLACK_COLOR: "danger"
SLACKIFY_MARKDOWN: true
ENABLE_ESCAPES: true
SLACK_MESSAGE: "The release job for `${{ github.workflow }}` in `${{ github.repository }}` failed at step: `${{ env.CURRENT_STEP }}`. [View details](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})."
Loading