Skip to content

add linting

add linting #179

Workflow file for this run

name: Tests
on:
pull_request:
jobs:
Unit-Tests:
runs-on: ubuntu-20.04
steps:
- name: check out our code
uses: actions/checkout@v3
- name: install poetry
run: curl -sSL https://install.python-poetry.org | python -
- name: install testix
run: poetry install
- name: unit tests
run: poetry run rake units
Run-Examples:
runs-on: ubuntu-20.04
steps:
- name: check out our code
uses: actions/checkout@v3
- name: install poetry
run: curl -sSL https://install.python-poetry.org | python -
- name: install testix
run: poetry install
- name: examples
run: poetry run rake examples
Generate-Wheel:
runs-on: ubuntu-20.04
steps:
- name: check out our code
uses: actions/checkout@v3
- name: install poetry
run: curl -sSL https://install.python-poetry.org | python -
- name: build wheel
run: poetry build -f wheel
- name: archive wheel
uses: actions/upload-artifact@v3
with:
name: wheel
path: dist/*.whl
Python-Version-Compatibility:
needs:
- Generate-Wheel
runs-on: ubuntu-20.04
strategy:
matrix:
python_version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
name: Python-${{matrix.python_version}}
steps:
- name: setup python ${{matrix.python_version}}
uses: actions/setup-python@v4
with:
python-version: ${{matrix.python_version}}
- name: download wheel
uses: actions/download-artifact@v3
with:
path: .
- run: python -V
- run: python -m pip install wheel/*.whl
- name: check out our code to a side directory - not the pwd
uses: actions/checkout@v3
with:
path: 'side'
- name: test import testix
run: python side/tools/full_testix_importer.py
All-OK:
runs-on: ubuntu-20.04
needs:
- Generate-Wheel
- Unit-Tests
- Run-Examples
- Python-Version-Compatibility
if: always()
steps:
- name: check out our code
uses: actions/checkout@v3
- name: verify we did not forget any tests
run: rake all_tests_included
- name: Generate-Wheel
run: rake 'enforce_success[${{needs.Generate-Wheel.result}}]'
- name: Unit-Tests
run: rake 'enforce_success[${{needs.Unit-Tests.result}}]'
- name: Run-Examples
run: rake 'enforce_success[${{needs.Run-Examples.result}}]'
- name: Python-Version-Compatibility
run: rake 'enforce_success[${{needs.Python-Version-Compatibility.result}}]'