Skip to content

Fix async resolveOutput hooks not being awaited #850

Fix async resolveOutput hooks not being awaited

Fix async resolveOutput hooks not being awaited #850

Workflow file for this run

name: Test
on:
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup project
uses: ./.github/actions/setup
- name: Ensure package version consistency
run: pnpm manypkg check
- name: Lint codebase
run: pnpm lint
- name: Check format
run: pnpm format:check
- name: Run tests
run: turbo run test
env:
OPENAI_API_KEY: 'sk-testing-key'
DATABASE_URL: 'file:./dev.db'
- name: Run tests with coverage
run: turbo run test:coverage
env:
OPENAI_API_KEY: 'sk-testing-key'
DATABASE_URL: 'file:./dev.db'
- name: Install Playwright browsers
working-directory: ./packages/ui
run: pnpm exec playwright install --with-deps chromium
- name: Run browser tests with coverage
working-directory: ./packages/ui
run: pnpm test:browser:coverage
- name: Upload coverage artifacts
if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v6
with:
name: coverage-reports
path: |
packages/*/coverage/
retention-days: 1
- name: Upload browser test screenshots
if: failure()
uses: actions/upload-artifact@v6
with:
name: browser-test-screenshots
path: packages/ui/tests/browser/**/__screenshots__/
retention-days: 7
e2e:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup project
uses: ./.github/actions/setup
- name: Build packages
run: |
pnpm --filter @opensaas/stack-core build
pnpm --filter @opensaas/stack-auth build
pnpm --filter @opensaas/stack-ui build
pnpm --filter @opensaas/stack-cli build
- name: Install Playwright browsers
run: pnpm exec playwright install --with-deps chromium
- name: Run E2E tests
run: pnpm test:e2e
env:
CI: true
DATABASE_URL: 'file:./dev.db'
BETTER_AUTH_URL: http://localhost:3000
BETTER_AUTH_SECRET: 'secret-for-teating-in-github-actions-with-numbers1234'
NEXT_PUBLIC_APP_URL: 'http://localhost:3000'
- name: Upload Playwright report
if: always()
uses: actions/upload-artifact@v6
with:
name: playwright-report
path: playwright-report/
retention-days: 7
- name: Upload test results
if: always()
uses: actions/upload-artifact@v6
with:
name: test-results
path: test-results/
retention-days: 7
coverage:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
needs: test
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Download coverage artifacts
uses: actions/download-artifact@v7
with:
name: coverage-reports
path: packages/
- name: Report coverage for Core Package
uses: davelosert/vitest-coverage-report-action@v2
with:
working-directory: ./packages/core
name: 'Core Package Coverage'
- name: Report coverage for UI Package
uses: davelosert/vitest-coverage-report-action@v2
with:
working-directory: ./packages/ui
name: 'UI Package Coverage'
- name: Report coverage for CLI Package
uses: davelosert/vitest-coverage-report-action@v2
with:
working-directory: ./packages/cli
name: 'CLI Package Coverage'
- name: Report coverage for Auth Package
uses: davelosert/vitest-coverage-report-action@v2
with:
working-directory: ./packages/auth
name: 'Auth Package Coverage'
- name: Report coverage for Storage Package
uses: davelosert/vitest-coverage-report-action@v2
with:
working-directory: ./packages/storage
name: 'Storage Package Coverage'
- name: Report coverage for RAG Package
uses: davelosert/vitest-coverage-report-action@v2
with:
working-directory: ./packages/rag
name: 'RAG Package Coverage'
- name: Report coverage for Storage S3 Package
uses: davelosert/vitest-coverage-report-action@v2
with:
working-directory: ./packages/storage-s3
name: 'Storage S3 Package Coverage'
- name: Report coverage for Storage Vercel Package
uses: davelosert/vitest-coverage-report-action@v2
with:
working-directory: ./packages/storage-vercel
name: 'Storage Vercel Package Coverage'