QA deploy - @devksingh4 #292
Workflow file for this run
This file contains hidden or 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: Deploy all resources to QA | |
| run-name: QA deploy - @${{ github.actor }} | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| branches: | |
| - main | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| test: | |
| permissions: | |
| contents: read | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| name: Run Unit Tests | |
| steps: | |
| - uses: actions/checkout@v4 | |
| env: | |
| HUSKY: "0" | |
| - name: Setup Terraform | |
| uses: hashicorp/setup-terraform@v3 | |
| with: | |
| terraform_version: 1.12.2 | |
| - name: Set up Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22.x | |
| cache: "yarn" | |
| - name: Restore Yarn Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: node_modules | |
| key: yarn-modules-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-dev | |
| restore-keys: | | |
| yarn-modules-${{ runner.arch }}-${{ runner.os }}- | |
| - name: Run unit testing | |
| run: make test_unit | |
| build: | |
| permissions: | |
| contents: read | |
| runs-on: ubuntu-24.04-arm | |
| timeout-minutes: 15 | |
| name: Build Application | |
| steps: | |
| - uses: actions/checkout@v4 | |
| env: | |
| HUSKY: "0" | |
| - name: Set up Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22.x | |
| cache: "yarn" | |
| - name: Restore Yarn Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: node_modules | |
| key: yarn-modules-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-dev | |
| restore-keys: | | |
| yarn-modules-${{ runner.arch }}-${{ runner.os }}- | |
| - name: Run build | |
| run: make build | |
| env: | |
| HUSKY: "0" | |
| VITE_RUN_ENVIRONMENT: dev | |
| RunEnvironment: dev | |
| - name: Upload Build files | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| include-hidden-files: true | |
| name: build | |
| path: | | |
| .aws-sam/ | |
| dist/ | |
| dist_ui/ | |
| deploy-test-dev: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| permissions: | |
| id-token: write | |
| contents: read | |
| concurrency: | |
| group: ${{ github.event.repository.name }}-dev-env | |
| cancel-in-progress: false | |
| environment: "AWS QA" | |
| name: Deploy to QA and Run Live Tests | |
| needs: | |
| - test | |
| - build | |
| steps: | |
| - uses: actions/checkout@v4 | |
| env: | |
| HUSKY: "0" | |
| - name: Setup Terraform | |
| uses: hashicorp/setup-terraform@v3 | |
| with: | |
| terraform_version: 1.12.2 | |
| - name: Download Build files | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: build | |
| - uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| role-to-assume: arn:aws:iam::427040638965:role/GitHubActionsRole | |
| role-session-name: Core_QA_Deployment_${{ github.run_id }} | |
| aws-region: us-east-1 | |
| - name: Publish to AWS | |
| run: make deploy_qa | |
| env: | |
| HUSKY: "0" | |
| VITE_RUN_ENVIRONMENT: dev | |
| - name: Set up Node for testing | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22.x | |
| cache: "yarn" | |
| - name: Restore Yarn Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: node_modules | |
| key: yarn-modules-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-dev | |
| restore-keys: | | |
| yarn-modules-${{ runner.arch }}-${{ runner.os }}- | |
| - name: Run health check | |
| run: make dev_health_check | |
| - name: Run post-deploy testing (Live and E2E) | |
| run: make test_post_deploy -j 2 | |
| env: | |
| PLAYWRIGHT_USERNAME: ${{ secrets.PLAYWRIGHT_USERNAME }} | |
| PLAYWRIGHT_PASSWORD: ${{ secrets.PLAYWRIGHT_PASSWORD }} | |
| JWT_KEY: ${{ secrets.JWT_KEY }} |