name: Test App on: merge_group: workflow_dispatch: push: branches: - develop pull_request: types: - opened - synchronize concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: Test: timeout-minutes: 20 runs-on: ubuntu-latest steps: - name: Checkout branch uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: 'npm' cache-dependency-path: package-lock.json - name: Install packages run: npm ci - name: Audit packages # having issues with moderate severity vulnerabilities run: npm audit --audit-level none - name: Lint run: npm run lint - name: Lint markdown run: npm run lint:markdown - name: Type checks run: npm run type-check - name: Unit Tests run: npm test - name: Build app for smoke tests run: NODE_OPTIONS='--max_old_space_size=6144' npm run app-build - name: Smoke test electron app run: | GIT_SYNC_SMOKE_TEST_TOKEN=${{env.GIT_SYNC_SMOKE_TEST_TOKEN}} \ npm run test:build -w packages/insomnia-smoke-test -- --project=Smoke env: GIT_SYNC_SMOKE_TEST_TOKEN: ${{ secrets.GIT_SYNC_SMOKE_TEST_TOKEN }} # This step should always run even when previous steps fail - name: Upload smoke test traces uses: actions/upload-artifact@v4 if: failure() with: if-no-files-found: ignore name: ubuntu-smoke-test-traces-${{ github.run_number }} path: packages/insomnia-smoke-test/traces