peewee-plus/.github/workflows/ci.yaml

92 lines
2.5 KiB
YAML
Raw Normal View History

2022-08-05 03:33:40 +00:00
---
name: CI
on:
pull_request:
types: ["opened", "synchronize"]
push:
branches: ["devel"]
jobs:
Test:
name: Test with Python ${{ matrix.python.version }}
2022-08-05 03:33:40 +00:00
runs-on: ubuntu-latest
strategy:
matrix:
python:
- version: "3.6"
toxenv: py36
- version: "3.7"
toxenv: py37
- version: "3.8"
toxenv: py38
- version: "3.9"
toxenv: py39
- version: "3.10"
toxenv: py310
fail-fast: true
steps:
- name: Checkout
uses: actions/checkout@v2
2022-08-05 03:33:40 +00:00
- name: Install Python ${{ matrix.python.version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python.version }}
2022-08-05 03:33:40 +00:00
- name: Configure Job Cache
uses: actions/cache@v3
with:
path: |
~/.cache/pip
~/.cache/pypoetry/cache
~/.poetry
# Including the hashed poetry.lock in the cache slug ensures that the cache
# will be invalidated, and thus all packages will be redownloaded, if the
# lockfile is updated
key: ${{ runner.os }}-${{ matrix.python.toxenv }}-${{ hashFiles('**/poetry.lock') }}
2022-08-05 03:33:40 +00:00
- name: Configure Path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
2022-08-05 03:33:40 +00:00
- name: Configure Environment
run: .github/scripts/setup-env.sh
2022-08-05 03:33:40 +00:00
- name: Run Toxenv ${{ matrix.python.toxenv }}
run: poetry run tox -e ${{ matrix.python.toxenv }}
Check:
name: Security, Linting, Formatting, Typing
2022-08-05 03:33:40 +00:00
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
2022-08-05 03:33:40 +00:00
- name: Install Python 3.8
uses: actions/setup-python@v4
with:
python-version: 3.8
2022-08-05 03:33:40 +00:00
- name: Configure Job Cache
uses: actions/cache@v3
with:
path: |
~/.cache/pip
~/.cache/pypoetry/cache
~/.poetry
# Hardcoded 'py310' slug here lets this cache piggyback on the 'py310' cache
# that is generated for the tests above
key: ${{ runner.os }}-py310-${{ hashFiles('**/poetry.lock') }}
2022-08-05 03:33:40 +00:00
- name: Configure Path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
2022-08-05 03:33:40 +00:00
- name: Configure Environment
run: .github/scripts/setup-env.sh
2022-08-05 03:33:40 +00:00
- name: Run Static Analysis Checks
run: poetry run tox -e static
2022-08-05 03:33:40 +00:00
- name: Run Static Analysis Checks (Tests)
run: poetry run tox -e static-tests
2022-08-05 03:33:40 +00:00
- name: Run Security Checks
run: poetry run tox -e security