Release v1.0.0 - Official Production #180
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
# maci: QA Tests | |
# This workflow will install python and dependencies, and run tests with a range of supported Python versions against different operating systems. | |
# Python versions being tested: 3.7 - 3.12 | |
# OSes being tested: Windows2019-2022, MacOS11-12, Ubuntu20-22 | |
# Triggered by Push, PR, or Manual run against "main" or dev repo | |
# Workflow Name | |
name: qa-testing | |
# Trigger on Push, PR, and Manual | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: | |
branches: | |
- '**' | |
# Build test environment, then run tests | |
jobs: | |
qa-tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.12", "3.11", "3.10", "3.9", "3.8", "3.7"] | |
os: [ubuntu-20.04, ubuntu-22.04, windows-2019, windows-2022, macos-11, macos-12] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install -r "requirements-dev.txt" | |
- name: Run - test framework & coverage report | |
run: | | |
coverage run --branch --source="src" -m pytest tests/ -v | |
coverage report --show-missing --fail-under 100 | |
- name: Run - type checks | |
run: | | |
mypy src | |
mypy tests/support/type_interfaces.py | |
- name: Run - security checks | |
run: | | |
echo === bandit === # check code vulns | |
bandit -r src/ | |
echo "" | |
echo === safety === # check dep vulns | |
safety check |