| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- # Workflow that runs python unit tests
- name: Run Python Unit Tests
- # The jobs in this workflow are required, so they must run at all times
- # * Always run on "main"
- # * Always run on PRs
- on:
- push:
- branches:
- - main
- pull_request:
- # If triggered by a PR, it will be in the same group. However, each commit on main will be in its own unique group
- concurrency:
- group: ${{ github.workflow }}-${{ (github.head_ref && github.ref) || github.run_id }}
- cancel-in-progress: true
- jobs:
- # Run python unit tests on Linux
- test-on-linux:
- name: Python Unit Tests on Linux
- runs-on: ubuntu-latest
- env:
- INSTALL_DOCKER: '0' # Set to '0' to skip Docker installation
- strategy:
- matrix:
- python-version: ['3.12']
- steps:
- - uses: actions/checkout@v4
- - name: Set up Docker Buildx
- id: buildx
- uses: docker/setup-buildx-action@v3
- - name: Install poetry via pipx
- run: pipx install poetry
- - name: Set up Python
- uses: actions/setup-python@v5
- with:
- python-version: ${{ matrix.python-version }}
- cache: 'poetry'
- - name: Install Python dependencies using Poetry
- run: poetry install --without evaluation,llama-index
- - name: Build Environment
- run: make build
- - name: Run Tests
- run: poetry run pytest --forked --cov=openhands --cov-report=xml -svv ./tests/unit --ignore=tests/unit/test_memory.py
- - name: Upload coverage to Codecov
- uses: codecov/codecov-action@v4
- env:
- CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|