Refactor: extract duplicated code and reorder tests #160
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Install Poetry, dependencies, run tests with a range of Python versions on Ubuntu Linux | |
name: Python package | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
- name: Install project | |
run: poetry install | |
- name: Lint imports with isort | |
# Use command line due to bugs/docs gaps with official `isort/isort-action`. | |
# Exit with error if the code is not properly formatted; show diffs; | |
# `black` compatibility. | |
# Only target files in `spond` and `test` due to unreliable behaviour on files in | |
# root directory. | |
# Diffs reported for these files should be the same as fixes made by running | |
# `isort .` in the root project folder, which picks up config from | |
# `pyproject.toml`. | |
run: | | |
source $VENV | |
isort spond --check-only --diff --profile black | |
isort tests --check-only --diff --profile black | |
- name: Lint with black | |
# by default: exit with error if the code is not properly formatted; show diffs | |
uses: psf/black@stable | |
- name: Test with pytest | |
run: | | |
source $VENV | |
pytest |