browser-testing.yml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. name: Browser Tests
  2. on:
  3. push:
  4. paths:
  5. - 'web/**'
  6. - 'test/automated/browser/**'
  7. pull_request:
  8. paths:
  9. - 'web/**'
  10. - 'test/automated/browser/**'
  11. jobs:
  12. cypress-run:
  13. runs-on: ubuntu-latest
  14. steps:
  15. - id: skip_check
  16. uses: fkirc/skip-duplicate-actions@v5
  17. with:
  18. concurrent_skipping: 'same_content_newer'
  19. - name: Checkout
  20. uses: actions/checkout@v3
  21. - uses: actions/setup-node@v3
  22. with:
  23. node-version: 18.9.0
  24. - name: Cache node modules
  25. uses: actions/cache@v3
  26. env:
  27. cache-name: cache-node-modules-browser-tests
  28. with:
  29. path: ~/.npm
  30. key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('test/automated/browser/package-lock.json') }}
  31. restore-keys: |
  32. ${{ runner.os }}-build-${{ env.cache-name }}-
  33. ${{ runner.os }}-build-
  34. ${{ runner.os }}-
  35. - uses: actions/setup-go@v4
  36. with:
  37. go-version: '1.20'
  38. cache: true
  39. - name: Install Google Chrome
  40. run: sudo apt-get install google-chrome-stable
  41. - name: Run Browser tests
  42. uses: nick-fields/retry@v2
  43. with:
  44. timeout_minutes: 20
  45. max_attempts: 3
  46. command: cd test/automated/browser && ./run.sh