Skip to content

release: v0.2.31

release: v0.2.31 #475

Workflow file for this run

name: Python tests
on:
push:
paths:
- 'gixy/**'
- 'tests/**'
- 'scripts/**'
- '*.py'
- 'requirements*.txt'
- 'setup.cfg'
- 'pyproject.toml'
- '.github/workflows/pythonpackage.yml'
pull_request:
paths:
- 'gixy/**'
- 'tests/**'
- 'scripts/**'
- '*.py'
- 'requirements*.txt'
- 'setup.cfg'
- 'pyproject.toml'
- '.github/workflows/pythonpackage.yml'
jobs:
# Check plugin help_url values and documentation
plugin-checks:
name: Plugin validation checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Check plugin help_url values
run: python scripts/check_plugin_help_urls.py
- name: Check plugin documentation
run: python scripts/check_plugin_docs.py
# Verify scripts work on Python 3.6 (minimum supported version)
py36-compat:
name: Python 3.6 compatibility check
runs-on: ubuntu-22.04
container:
image: python:3.6-slim
steps:
- uses: actions/checkout@v3
- name: Install flake8
run: pip install flake8
- name: Check for Python 3.6 syntax compatibility
run: |
# Check for syntax errors and undefined names (F821)
flake8 scripts/ gixy/ --count --select=E9,F63,F7,F82,F821 --show-source --statistics
- name: Verify scripts run on Python 3.6
run: |
python scripts/check_plugin_help_urls.py
python scripts/check_plugin_docs.py
legacy:
name: Test on Python ${{ matrix.python-version }}
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: ['3.6', '3.7']
container:
image: python:${{ matrix.python-version }}
steps:
- uses: actions/checkout@v3
- name: Install dependencies & test
run: |
pip install -r requirements.txt \
-r requirements.dev.txt
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
pytest -v -n auto
modern:
name: Test on Python ${{ matrix.python-version }}
runs-on: ubuntu-22.04
strategy:
max-parallel: 4
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install -r requirements.txt
pip install -r requirements.dev.txt
- name: Lint with flake8
run: |
# 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
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest -v -n auto
env:
GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}