diff --git a/.github/workflows/push-ci.yml b/.github/workflows/push-ci.yml index 2fa9361c..8a2ab204 100644 --- a/.github/workflows/push-ci.yml +++ b/.github/workflows/push-ci.yml @@ -132,7 +132,12 @@ jobs: set -euo pipefail start_epoch=$(date +%s) - bun run test:fast + test_status=0 + if bun run test:fast; then + test_status=0 + else + test_status=$? + fi end_epoch=$(date +%s) elapsed_seconds=$((end_epoch - start_epoch)) @@ -150,6 +155,8 @@ jobs: echo "- Result: within budget." >> "$GITHUB_STEP_SUMMARY" fi + exit "$test_status" + - name: Test slow bucket run: bun run test:slow diff --git a/tests/unit/scripts/github/push-ci-workflow.test.ts b/tests/unit/scripts/github/push-ci-workflow.test.ts index e7d68ebc..c3313427 100644 --- a/tests/unit/scripts/github/push-ci-workflow.test.ts +++ b/tests/unit/scripts/github/push-ci-workflow.test.ts @@ -30,6 +30,8 @@ describe('push ci workflow', () => { expect(workflow).toContain("FAST_TEST_BUDGET_SECONDS: '90'"); expect(workflow).toContain('name: Test fast bucket with perf budget'); expect(workflow).toContain('bun run test:fast'); + expect(workflow).toContain('test_status=$?'); + expect(workflow).toContain('exit "$test_status"'); expect(workflow).toContain('::warning::test:fast took ${elapsed_seconds}s'); expect(workflow).toContain('scripts/run-test-bucket.js'); expect(workflow).toContain('run: bun run test:slow');