run-runtime-tests.yml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. name: Run Runtime Tests
  2. concurrency:
  3. group: ${{ github.workflow }}-${{ github.ref }}
  4. cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
  5. on:
  6. push:
  7. branches:
  8. - main
  9. paths-ignore:
  10. - '**/*.md'
  11. - 'frontend/**'
  12. - 'docs/**'
  13. - 'evaluation/**'
  14. pull_request:
  15. env:
  16. PERSIST_SANDBOX : "false"
  17. jobs:
  18. test-for-runtime:
  19. name: Test for Runtime
  20. runs-on: ubuntu-latest
  21. env:
  22. PERSIST_SANDBOX: "false"
  23. steps:
  24. - uses: actions/checkout@v4
  25. - name: Free Disk Space (Ubuntu)
  26. uses: jlumbroso/free-disk-space@main
  27. with:
  28. # this might remove tools that are actually needed,
  29. # when set to "true" but frees about 6 GB
  30. tool-cache: true
  31. # all of these default to true, but feel free to set to
  32. # "false" if necessary for your workflow
  33. android: true
  34. dotnet: true
  35. haskell: true
  36. large-packages: true
  37. swap-storage: true
  38. - name: Install poetry via pipx
  39. run: pipx install poetry
  40. - name: Set up Python
  41. uses: actions/setup-python@v5
  42. with:
  43. python-version: "3.11"
  44. cache: "poetry"
  45. - name: Install Python dependencies using Poetry
  46. run: make install-python-dependencies
  47. - name: Run runtime tests
  48. run: |
  49. TEST_IN_CI=true poetry run pytest --cov=agenthub --cov=opendevin --cov-report=xml -s ./tests/unit/test_runtime.py
  50. - name: Upload coverage to Codecov
  51. uses: codecov/codecov-action@v4
  52. env:
  53. CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}