web-tests.yml 1020 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. name: Web Tests
  2. on:
  3. pull_request:
  4. branches:
  5. - main
  6. paths:
  7. - web/**
  8. concurrency:
  9. group: web-tests-${{ github.head_ref || github.run_id }}
  10. cancel-in-progress: true
  11. jobs:
  12. test:
  13. name: Web Tests
  14. runs-on: ubuntu-latest
  15. defaults:
  16. run:
  17. working-directory: ./web
  18. steps:
  19. - name: Checkout code
  20. uses: actions/checkout@v4
  21. - name: Check changed files
  22. id: changed-files
  23. uses: tj-actions/changed-files@v45
  24. with:
  25. files: web/**
  26. - name: Setup Node.js
  27. uses: actions/setup-node@v4
  28. if: steps.changed-files.outputs.any_changed == 'true'
  29. with:
  30. node-version: 20
  31. cache: yarn
  32. cache-dependency-path: ./web/package.json
  33. - name: Install dependencies
  34. if: steps.changed-files.outputs.any_changed == 'true'
  35. run: yarn install --frozen-lockfile
  36. - name: Run tests
  37. if: steps.changed-files.outputs.any_changed == 'true'
  38. run: yarn test