ilios/frontend

View on GitHub
.github/workflows/deploy-production.yml

Summary

Maintainability
Test Coverage
name: Deploy Production Build

on:
  push:
    tags:
      - "*"

env:
  COVERAGE: false
  SENTRY_ORG: ilios
  SENTRY_PROJECT: frontend

jobs:
  deploy:
    name: Deploy and Create Sentry Release
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v4
        with:
          version: 9
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: pnpm
      - run: pnpm install
      - name: Ember CLI Deploy
        run: pnpm -r run --parallel deploy:production
        env:
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
      - name: Install Sentry CLI
        run: pnpm install -g @sentry/cli
      - name: Create a Sentry.io release
        run: |
          # Create new Sentry release
          sentry-cli releases new ${{github.ref_name}}
          sentry-cli releases set-commits --auto ${{github.ref_name}}
          sentry-cli releases files ${{github.ref_name}} upload-sourcemaps packages/frontend/tmp/deploy-dist/
          sentry-cli releases finalize ${{github.ref_name}}
        env:
          SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
      - uses: act10ns/slack@v2
        if: failure()
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_ILIOS_DEPLOYMENT_WEBHOOK_URL }}
        with:
          status: ${{ job.status }}
          message: Production Deploy Failed {{ env.GITHUB_SERVER_URL }}/{{ env.GITHUB_REPOSITORY }}/actions/runs/{{ env.GITHUB_RUN_ID }}