run-tests.yml 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. name: Tests
  2. on:
  3. push:
  4. paths-ignore:
  5. - "*.md"
  6. branches-ignore:
  7. - master
  8. workflow_call:
  9. jobs:
  10. test:
  11. runs-on: buildjet-2vcpu-ubuntu-2204
  12. strategy:
  13. matrix:
  14. nim:
  15. - "1.6.10"
  16. - "1.6.x"
  17. - "2.0.x"
  18. - "devel"
  19. steps:
  20. - uses: actions/checkout@v3
  21. with:
  22. fetch-depth: 0
  23. - name: Cache nimble
  24. id: cache-nimble
  25. uses: buildjet/cache@v3
  26. with:
  27. path: ~/.nimble
  28. key: ${{ matrix.nim }}-nimble-${{ hashFiles('*.nimble') }}
  29. restore-keys: |
  30. ${{ matrix.nim }}-nimble-
  31. - uses: actions/setup-python@v4
  32. with:
  33. python-version: "3.10"
  34. cache: "pip"
  35. - uses: jiro4989/setup-nim-action@v1
  36. with:
  37. nim-version: ${{ matrix.nim }}
  38. repo-token: ${{ secrets.GITHUB_TOKEN }}
  39. - run: nimble build -d:release -Y
  40. - run: pip install seleniumbase
  41. - run: seleniumbase install chromedriver
  42. - uses: supercharge/redis-github-action@1.5.0
  43. - name: Prepare Nitter
  44. run: |
  45. sudo apt install libsass-dev -y
  46. cp nitter.example.conf nitter.conf
  47. sed -i 's/enableDebug = false/enableDebug = true/g' nitter.conf
  48. nimble md
  49. nimble scss
  50. echo '${{ secrets.GUEST_ACCOUNTS }}' > ./guest_accounts.jsonl
  51. - name: Run tests
  52. run: |
  53. ./nitter &
  54. pytest -n8 tests