Add PyPi release workflow #5
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
name: Tox tests | |
on: [push, pull_request] | |
jobs: | |
linting: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install OS packages | |
run: | | |
sudo apt-get -y update | |
sudo apt-get install -y rpm | |
sudo apt-get install -y libkrb5-dev | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Install Tox | |
run: pip install tox 'virtualenv<20.21.1' | |
- name: Run Linting | |
run: tox -e lint | |
- name: Run MyPy | |
run: tox -e mypy | |
unit-tests: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install OS packages | |
run: | | |
sudo apt-get -y update | |
sudo apt-get install -y rpm | |
sudo apt-get install -y libkrb5-dev | |
- name: Install Tox | |
run: pip install tox 'virtualenv<20.21.1' | |
- name: Test on ${{ matrix.python-version }} | |
run: tox -e "py${{ matrix.python-version }}" | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install OS packages | |
run: | | |
sudo apt-get -y update | |
sudo apt-get install -y rpm | |
sudo apt-get install -y libkrb5-dev | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Install Tox | |
run: pip install tox 'virtualenv<20.21.1' | |
- name: Run Tox | |
run: tox -e coverage | |
- name: Install pytest cov | |
run: pip install pytest-cov | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v2 | |
with: | |
fail_ci_if_error: true | |
verbose: true | |
security: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install OS packages | |
run: | | |
sudo apt-get -y update | |
sudo apt-get install -y rpm | |
sudo apt-get install -y libkrb5-dev | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Install Tox | |
run: pip install tox 'virtualenv<20.21.1' | |
- name: Run Tox | |
run: tox -e security | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install OS packages | |
run: | | |
sudo apt-get -y update | |
sudo apt-get install -y rpm | |
sudo apt-get install -y libkrb5-dev | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Install Tox | |
run: pip install tox 'virtualenv<20.21.1' | |
- name: Run Tox | |
run: tox -e docs | |