Skip to content

tests

tests #2356

Workflow file for this run

name: tests
on:
push:
pull_request:
schedule:
- cron: '15 5 * * *'
jobs:
basic-tests-linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md#using-the-python-version-input
python-version: ['3.9', '3.10', '3.11', '3.12-dev', 'pypy3.9']
env:
GITHUB_OS: linux
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Update pip & setuptools
run: |
python -m pip install --upgrade pip setuptools wheel
- name: Lint the code with flake8
run: |
pip install flake8
# 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: Sleep for 1-30 seconds
run: SECONDS=$[ ($RANDOM % 30) + 1 ];echo $SECONDS;sleep "$SECONDS"s
shell: bash
- name: Test with pytest
run: |
pip install wheel pytest coverage pytest-cov
python -B -m pytest --cov-config=setup.cfg isbnlib/test
basic-tests-macos:
runs-on: macos-latest
strategy:
matrix:
python-version: [3.8]
env:
GITHUB_OS: macos
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Update pip
run: |
python -m pip install --upgrade pip
- name: Test with pytest
run: |
pip install wheel pytest coverage pytest-cov
pytest -v --cov-config=./setup.cfg ./isbnlib/test
basic-tests-windows:
runs-on: windows-latest
strategy:
matrix:
python-version: [3.x]
env:
GITHUB_OS: windows
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Update pip
run: |
python -m pip install --upgrade pip
- name: Test with pytest
run: |
pip install wheel pytest coverage pytest-cov
pytest -v --cov-config=./setup.cfg ./isbnlib/test