Skip to content

make it clear that stubs are auto-generated #1559

make it clear that stubs are auto-generated

make it clear that stubs are auto-generated #1559

Workflow file for this run

name: Python Tests
on:
push:
branches:
- master
pull_request_target:
types: [opened, synchronize, reopened]
permissions:
contents: read
jobs:
flake8:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup pip cache
uses: actions/cache@v4
id: pipcache
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
restore-keys: |
${{ runner.os }}-pip-flake8
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install flake8
- name: Lint with flake8
uses: liskin/gh-problem-matcher-wrap@v3
with:
linters: flake8
run: flake8 --extend-ignore=E203 faker tests
checkmanifest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup pip cache
uses: actions/cache@v4
id: pipcache
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
restore-keys: |
${{ runner.os }}-pip-checkmanifest
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install tox
- name: Check manifest
run: tox
env:
TOXENV: checkmanifest
isort:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup pip cache
uses: actions/cache@v4
id: pipcache
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
restore-keys: |
${{ runner.os }}-pip-isort
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install isort
- name: Import order checking with isort
uses: liskin/gh-problem-matcher-wrap@v3
with:
linters: isort
run: isort --check --diff .
black:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup pip cache
uses: actions/cache@v4
id: pipcache
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
restore-keys: |
${{ runner.os }}-pip-black
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install tox
- name: Formatting with black
run: tox
env:
TOXENV: black
doc8:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup pip cache
uses: actions/cache@v4
id: pipcache
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
restore-keys: |
${{ runner.os }}-pip-pep8
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install tox
- name: Doc formatting
run: tox
env:
TOXENV: doc8
typing:
runs-on: ubuntu-latest
strategy:
matrix:
python: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Setup pip cache
uses: actions/cache@v4
id: pipcache
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
restore-keys: |
${{ runner.os }}-pip-typing
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
python -m pip install mypy
- name: Static type checking with mypy
uses: liskin/gh-problem-matcher-wrap@v3
with:
linters: mypy
run: mypy --install-types --non-interactive --config mypy.ini faker
test_ubuntu:
runs-on: ubuntu-latest
needs: [flake8, isort, black, doc8, checkmanifest, typing]
strategy:
matrix:
python: ["3.8", "3.9", "3.10", "3.11", "3.12", "pypy-3.10"]
steps:
- uses: actions/checkout@v4
- name: Setup pip cache
uses: actions/cache@v4
id: pipcache
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
restore-keys: |
${{ runner.os }}-pip-test_ubuntu
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install Tox and any other packages
run: python -m pip install tox coveralls
- name: pytest
uses: liskin/gh-problem-matcher-wrap@v3
with:
linters: pytest
run: tox -e py
env:
COVERALLS_PARALLEL: true
COVERALLS_FLAG_NAME: run-ubuntu-${{ matrix.python }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_SERVICE_NAME: github
- name: Publish coverage
run: coveralls --service=github
env:
COVERALLS_PARALLEL: true
COVERALLS_FLAG_NAME: run-ubuntu-${{ matrix.python }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_SERVICE_NAME: github
test_windows:
runs-on: windows-latest
needs: [flake8, isort, black, doc8, checkmanifest, typing]
strategy:
matrix:
python: ["3.8", "3.9", "3.10", "3.11", "3.12"]
arch: ["x86", "x64"]
steps:
- uses: actions/checkout@v4
- name: Setup pip cache
uses: actions/cache@v4
id: pipcache
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
restore-keys: |
${{ runner.os }}-pip-test_windows
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install Tox and any other packages
run: python -m pip install tox coveralls
- name: Run Tox
# Run tox using the version of Python in `PATH`
run: tox -e py
- name: Publish coverage
run: coveralls --service=github
env:
COVERALLS_PARALLEL: true
COVERALLS_FLAG_NAME: run-ubuntu-${{ matrix.python }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_SERVICE_NAME: github
test_alpine:
runs-on: ubuntu-latest
needs: [flake8, isort, black, doc8, checkmanifest, typing]
steps:
- uses: actions/checkout@v4
- name: Setup pip cache
uses: actions/cache@v4
id: pipcache
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}
restore-keys: |
${{ runner.os }}-pip-test_alpine
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install tox==3.27.1 setuptools
- name: Run tests
run: tox
env:
TOXENV: alpine
TEST_ALPINE: 1
finish:
needs: [test_ubuntu, test_windows, test_alpine]
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: AndreMiras/coveralls-python-action@develop
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true