Drop python 3.6 and enable future annotations everywhere #2230
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: Unit tests and release | |
on: | |
push: | |
branches: [ master ] | |
tags: | |
- '*' | |
pull_request: | |
branches: [ master ] | |
jobs: | |
unit_tests: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
python-version: [3.7, 3.8, 3.9, '3.10', 3.11, '3.12.0-rc.3', pypy-3.7] | |
os: [ubuntu-20.04] | |
include: | |
- os: windows-latest | |
python-version: 3.7 | |
- os: macos-latest | |
python-version: 3.7 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install tox | |
run: | | |
python -m pip install --upgrade pip tox | |
- name: Log system information | |
run: | | |
test -r /etc/os-release && sh -c '. /etc/os-release && echo "OS: $PRETTY_NAME"' | |
python --version | |
python -c "print('\nENVIRONMENT VARIABLES\n=====================\n')" | |
python -c "import os; [print(f'{k}={v}') for k, v in os.environ.items()]" | |
- name: Run unit tests | |
run: | | |
tox -e test | |
- name: Run unit tests with latest Twisted version | |
if: matrix.python-version != '3.7' && matrix.python-version != '3.6' && matrix.python-version != 'pypy-3.6' | |
run: | | |
tox -e test-latest-twisted | |
- name: Publish code coverage | |
continue-on-error: true | |
run: | | |
tox -e codecov | |
release: | |
needs: [unit_tests] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.9 | |
- name: Log system information | |
run: | | |
test -r /etc/os-release && sh -c '. /etc/os-release && echo "OS: $PRETTY_NAME"' | |
python --version | |
python -c "print('\nENVIRONMENT VARIABLES\n=====================\n')" | |
python -c "import os; [print(f'{k}={v}') for k, v in os.environ.items()]" | |
- name: Install deps | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
- name: Build pydoctor | |
run: | | |
python setup.py --quiet build check sdist bdist_wheel | |
ls -alh ./dist/ | |
- name: Publish pydoctor to PyPI on tags | |
if: startsWith(github.ref, 'refs/tags') | |
uses: pypa/gh-action-pypi-publish@master | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_TOKEN }} |