playwright.yml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. name: Playwright Tests
  2. on:
  3. push:
  4. branches: [main, master]
  5. pull_request:
  6. branches: [main, master]
  7. defaults:
  8. run:
  9. working-directory: ./playwright-tests
  10. concurrency:
  11. group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  12. cancel-in-progress: true
  13. jobs:
  14. test:
  15. if: github.event.pull_request.draft == false
  16. timeout-minutes: 60
  17. runs-on: ubuntu-latest
  18. steps:
  19. # Do our best to cache the toolchain and node install steps
  20. - uses: actions/checkout@v4
  21. - uses: ilammy/setup-nasm@v1
  22. - uses: actions/setup-node@v4
  23. with:
  24. node-version: 16
  25. - name: Install Rust
  26. uses: dtolnay/rust-toolchain@master
  27. with:
  28. toolchain: stable
  29. targets: x86_64-unknown-linux-gnu,wasm32-unknown-unknown
  30. - uses: Swatinem/rust-cache@v2
  31. - name: Install dependencies
  32. run: npm ci
  33. - name: Install Playwright
  34. run: npm install -D @playwright/test
  35. - name: Install Playwright Browsers
  36. run: npx playwright install --with-deps
  37. # Cache the CLI by using cargo run internally
  38. # - name: Install Dioxus CLI
  39. # uses: actions-rs/cargo@v1
  40. # with:
  41. # command: install
  42. # args: --path packages/cli
  43. - name: Run Playwright tests
  44. run: npx playwright test
  45. - uses: actions/upload-artifact@v4
  46. if: always()
  47. with:
  48. name: playwright-report
  49. path: playwright-report/
  50. retention-days: 30