Skip to content

Python package

Python package #131

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.12"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox virtualenv ruff
- name: Lint
run: "tox -e lint"
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
name:
- "ubuntu-py38"
- "ubuntu-py39"
- "ubuntu-py310"
- "ubuntu-py311"
- "ubuntu-py312"
- "macos-py38"
- "macos-py39"
- "macos-py310"
- "macos-py311"
- "macos-py312"
- "windows-py38"
- "windows-py39"
- "windows-py310"
- "windows-py311"
- "windows-py312"
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: "ubuntu-py311"
python: "3.11"
os: ubuntu-latest
tox_env: "py311"
- name: "ubuntu-py312"
python: "3.12"
os: ubuntu-latest
tox_env: "py312"
- 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: "macos-py311"
python: "3.11"
os: macos-latest
tox_env: "py311"
- name: "macos-py312"
python: "3.12"
os: macos-latest
tox_env: "py312"
- 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"
- name: "windows-py311"
python: "3.11"
os: windows-latest
tox_env: "py311"
- name: "windows-py312"
python: "3.12"
os: windows-latest
tox_env: "py312"
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 ruff
run: |
# ruff lint
ruff check spade
- name: Test with pytest
run: |
pytest
coverage:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
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 pytest
- 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