Skip to content

Python package

Python package #82

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python package
on:
push:
branches: [ master, develop ]
tags:
- "*"
pull_request:
branches:
- "*"
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox virtualenv flake8
- name: Lint
run: "tox -e flake8"
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
name:
- "ubuntu-py38"
- "ubuntu-py39"
- "ubuntu-py310"
- "macos-py38"
- "macos-py39"
- "macos-py310"
- "windows-py38"
- "windows-py39"
- "windows-py310"
include:
- name: "ubuntu-py38"
python: "3.8"
os: ubuntu-latest
tox_env: "py38"
- name: "ubuntu-py39"
python: "3.9"
os: ubuntu-latest
tox_env: "py39"
- name: "ubuntu-py310"
python: "3.10"
os: ubuntu-latest
tox_env: "py310"
- name: "macos-py38"
python: "3.8"
os: macos-latest
tox_env: "py38"
- name: "macos-py39"
python: "3.9"
os: macos-latest
tox_env: "py39"
- name: "macos-py310"
python: "3.10"
os: macos-latest
tox_env: "py310"
- name: "windows-py38"
python: "3.8"
os: windows-latest
tox_env: "py38"
- name: "windows-py39"
python: "3.9"
os: windows-latest
tox_env: "py39"
- name: "windows-py310"
python: "3.10"
os: windows-latest
tox_env: "py310"
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r requirements_dev.txt
python -m pip install -r requirements.txt
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 spade --count --ignore=E501 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 spade --count --exit-zero --max-complexity=10 --ignore=E501 --statistics
- name: Test with pytest
run: |
pytest
coverage:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r requirements_dev.txt
python -m pip install -r requirements.txt
- name: Run coverage
run: |
coverage erase
coverage run --source=spade -m py.test
- name: Coveralls
uses: javipalanca/coveralls-python-action@develop
with:
parallel: true
flag-name: Unit Test
- name: Send coverage report to codecov
uses: codecov/codecov-action@v1
coveralls_finish:
needs: coverage
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: AndreMiras/coveralls-python-action@develop
with:
parallel-finished: true