_test.yml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. name: Tests
  2. on:
  3. workflow_call:
  4. jobs:
  5. e2e:
  6. name: E2E Tests
  7. timeout-minutes: 60
  8. runs-on: ubuntu-latest
  9. steps:
  10. - uses: actions/checkout@v3
  11. - uses: actions/setup-node@v3
  12. with:
  13. node-version: 20
  14. - name: Install dependencies
  15. run: npm ci
  16. - name: Install Playwright Browsers
  17. run: npx playwright install --with-deps
  18. working-directory: packages/quill
  19. - name: Run Playwright tests
  20. uses: coactions/setup-xvfb@v1
  21. with:
  22. run: npm run test:e2e -- --headed
  23. working-directory: packages/quill
  24. fuzz:
  25. name: Fuzz Tests
  26. runs-on: ubuntu-latest
  27. steps:
  28. - name: Git checkout
  29. uses: actions/checkout@v4
  30. - name: Use Node.js
  31. uses: actions/setup-node@v4
  32. with:
  33. node-version: 20
  34. - run: npm ci
  35. env:
  36. PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 1
  37. - run: npm run test:fuzz -w quill
  38. unit:
  39. name: Unit Tests
  40. runs-on: ubuntu-latest
  41. strategy:
  42. fail-fast: false
  43. matrix:
  44. browser: [chromium, webkit, firefox]
  45. steps:
  46. - name: Git checkout
  47. uses: actions/checkout@v3
  48. - name: Use Node.js
  49. uses: actions/setup-node@v3
  50. with:
  51. node-version: 20
  52. - run: npm ci
  53. - run: npx playwright install --with-deps
  54. - run: npm run lint
  55. - run: npm run test:unit -w quill || npm run test:unit -w quill || npm run test:unit -w quill
  56. env:
  57. BROWSER: ${{ matrix.browser }}