Skip to content

tests

tests #264

name: guillotina
on: [push, workflow_dispatch]
jobs:
# Job to run pre-checks
pre-checks:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.10.14]
steps:
- name: Checkout the repository
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install package
run: |
pip install click==8.0.4
pip install flake8==3.7.7
pip install mypy==1.0.1
pip install mypy-zope==0.3.2
pip install black==19.10b0
- name: Run pre-checks
run: |
flake8 guillotina --config=setup.cfg
mypy guillotina/ --ignore-missing-imports
black --check --verbose guillotina
# Job to run tests
tests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.10.14]
database: ["DUMMY", "postgres"]
db_schema: ["custom", "public"]
exclude:
- database: "DUMMY"
db_schema: "custom"
# Set environment variables
env:
DATABASE: ${{ matrix.database }}
DB_SCHEMA: ${{ matrix.db_schema }}
steps:
- name: Checkout the repository
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install the package
run: |
pip install $(grep "Cython" requirements.txt)
pip install -r requirements.txt
pip install -r contrib-requirements.txt
pip install -e .[test]
pip install -e .[testdata]
- name: memcache
uses: niden/actions-memcached@v7
- name: Run tests
run: |
MEMCACHED=localhost:11211 pytest -rfE --reruns 2 --cov=guillotina -s \
--tb=native -v --cov-report xml --cov-append guillotina
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
file: ./coverage.xml