59 lines
1.9 KiB
YAML
59 lines
1.9 KiB
YAML
|
name: Tests
|
||
|
on: [push, pull_request]
|
||
|
jobs:
|
||
|
lint:
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
- uses: actions/checkout@v2
|
||
|
- uses: actions/setup-python@v2
|
||
|
with:
|
||
|
python-version: '3.6'
|
||
|
- name: Install requirements
|
||
|
run: pip install flake8 pycodestyle
|
||
|
- name: Check syntax
|
||
|
run: flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics --exclude ckan
|
||
|
|
||
|
test:
|
||
|
needs: lint
|
||
|
strategy:
|
||
|
matrix:
|
||
|
ckan-version: [2.9, 2.9-py2, 2.8, 2.7]
|
||
|
fail-fast: false
|
||
|
|
||
|
name: CKAN ${{ matrix.ckan-version }}
|
||
|
runs-on: ubuntu-latest
|
||
|
container:
|
||
|
image: openknowledge/ckan-dev:${{ matrix.ckan-version }}
|
||
|
services:
|
||
|
solr:
|
||
|
image: ckan/ckan-solr-dev:${{ matrix.ckan-version }}
|
||
|
postgres:
|
||
|
image: ckan/ckan-postgres-dev:${{ matrix.ckan-version }}
|
||
|
env:
|
||
|
POSTGRES_USER: postgres
|
||
|
POSTGRES_PASSWORD: postgres
|
||
|
POSTGRES_DB: postgres
|
||
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||
|
redis:
|
||
|
image: redis:3
|
||
|
|
||
|
steps:
|
||
|
- uses: actions/checkout@v2
|
||
|
- name: Install requirements
|
||
|
run: |
|
||
|
pip install -r pip-requirements.txt
|
||
|
pip install -r dev-requirements.txt
|
||
|
pip install -e .
|
||
|
- name: Setup extension (CKAN >= 2.9)
|
||
|
if: ${{ matrix.ckan-version != '2.7' && matrix.ckan-version != '2.8' }}
|
||
|
run: |
|
||
|
ckan -c test-ga.ini db init
|
||
|
ckan -c test-ga.ini harvester initdb
|
||
|
- name: Setup extension (CKAN < 2.9)
|
||
|
if: ${{ matrix.ckan-version == '2.7' || matrix.ckan-version == '2.8' }}
|
||
|
run: |
|
||
|
paster --plugin=ckan db init -c test-ga.ini
|
||
|
paster --plugin=ckanext-harvest harvester initdb -c test-ga.ini
|
||
|
- name: Run tests
|
||
|
run: pytest --ckan-ini=test-ga.ini --cov=ckanext.harvest --disable-warnings ckanext/harvest/tests
|