diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 0bfb915..b2be07a 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -12,28 +12,15 @@ jobs: steps: - name: Checkout code - run: | - # Manual checkout since we're on a host runner without Node.js - if [ -d ".git" ]; then - git pull origin ${{ github.ref_name }} - else - git clone ${{ github.server_url }}/${{ github.repository }} . - git checkout ${{ github.sha }} - fi - + uses: actions/checkout@v4 + - name: Set up Python - run: | - # Check if Python is available - python3 --version || python --version - # Create a virtual environment for isolation - python3 -m venv venv || python -m venv venv - source venv/bin/activate - echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV - echo "$VIRTUAL_ENV/bin" >> $GITHUB_PATH + uses: actions/setup-python@v4 + with: + python-version: '3.x' - name: Install dependencies run: | - source venv/bin/activate python -m pip install --upgrade pip # Install package in development mode pip install -e . @@ -45,20 +32,17 @@ jobs: - name: Lint with flake8 run: | - source venv/bin/activate # Stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # Exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + # Exit-zero treats all errors as warnings flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Run tests with pytest run: | - source venv/bin/activate # Run tests with coverage python -m pytest tests/ -v --cov=pyWebLayout --cov-report=term-missing - name: Test package installation run: | - source venv/bin/activate # Test that the package can be imported python -c "import pyWebLayout; print('Package imported successfully')" \ No newline at end of file