Compare commits

..

9 Commits

Author SHA1 Message Date
openhands e6e6659624 Fix PATH handling in WSL workflow 2024-11-12 04:23:01 +00:00
openhands 3bb8139042 Fix Python setup in WSL workflow using python3.12-pip package 2024-11-12 04:16:33 +00:00
openhands 9296a47ec1 Fix Python setup in WSL workflow with proper system-wide installations 2024-11-12 04:09:35 +00:00
openhands 1ed8628220 Fix WSL workflow to use pipx and simplify environment setup 2024-11-12 04:02:23 +00:00
openhands 977108e869 Fix WSL workflow issues with Python and Poetry setup 2024-11-12 03:41:34 +00:00
openhands 02f02c975e Fix WSL workflow by improving Python and Poetry setup 2024-11-12 03:28:16 +00:00
openhands a49d58a9fb Add WSL unit test workflow 2024-11-12 03:10:11 +00:00
Robert Brennan 488a320ffd update to use github client lib (#4909) 2024-11-12 00:56:50 +00:00
Robert Brennan 377fadc2eb fix remote runtimes (#4902) 2024-11-12 00:02:34 +00:00
+74
View File
@@ -0,0 +1,74 @@
name: Run Python Unit Tests on WSL
on:
push:
branches:
- main
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ (github.head_ref && github.ref) || github.run_id }}
cancel-in-progress: true
jobs:
test-on-wsl:
name: Python Unit Tests on WSL
runs-on: windows-latest
env:
INSTALL_DOCKER: '0' # Set to '0' to skip Docker installation
strategy:
matrix:
python-version: ['3.12']
steps:
- uses: actions/checkout@v4
- name: Setup WSL
uses: Vampire/setup-wsl@v3
with:
distribution: Ubuntu-22.04
update: true
additional-packages: python3-pip python3-venv make curl
- name: Set up Python in WSL
shell: wsl-bash {0}
run: |
# Update package list and install software-properties-common
sudo apt-get update
sudo apt-get install -y software-properties-common
# Install Python 3.12 from deadsnakes PPA
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt-get update
sudo apt-get install -y python3.12 python3.12-venv python3.12-dev python3.12-distutils python3.12-pip
# Create symlinks for python3.12
sudo ln -sf /usr/bin/python3.12 /usr/local/bin/python3
sudo ln -sf /usr/bin/python3.12 /usr/local/bin/python
sudo ln -sf /usr/bin/pip3.12 /usr/local/bin/pip3
sudo ln -sf /usr/bin/pip3.12 /usr/local/bin/pip
# Install pipx and poetry
python3 -m pip install --user pipx
python3 -m pipx ensurepath
python3 -m pipx install poetry
# Add local bin to PATH
export PATH="$HOME/.local/bin:$PATH"
echo "PATH=$PATH" >> $GITHUB_ENV
- name: Install Python dependencies using Poetry
shell: wsl-bash {0}
run: poetry install --without evaluation,llama-index
- name: Build Environment
shell: wsl-bash {0}
run: make build
- name: Run Tests
shell: wsl-bash {0}
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 }}