Fixes for 2.10.x #85
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: Tests | |
on: [ push, pull_request ] | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v3 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: pip install flake8 pytest | |
- name: Lint with flake8 | |
run: | | |
# stop the build if there are Python syntax errors or undefined names | |
flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics --exclude ckan | |
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide | |
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics | |
test: | |
needs: lint | |
strategy: | |
matrix: | |
ckan-version: [ "2.10" ] | |
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:${{ matrix.ckan-version }}-solr9 | |
volumes: | |
- SOLR_SCHEMA_FILE:../solr/schema.xml | |
postgres: | |
# image: ckan/ckan-postgres-dev:${{ matrix.ckan-version }} | |
image: postgis/postgis:10-3.1 | |
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 | |
env: | |
CKAN_SQLALCHEMY_URL: postgresql://ckan_default:pass@postgres/ckan_test | |
CKAN_DATASTORE_WRITE_URL: postgresql://datastore_write:pass@postgres/datastore_test | |
CKAN_DATASTORE_READ_URL: postgresql://datastore_read:pass@postgres/datastore_test | |
CKAN_SOLR_URL: http://solr:8983/solr/ckan | |
CKAN_REDIS_URL: redis://redis:6379/1 | |
PGPASSWORD: postgres | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Create Database | |
run: | | |
psql --host=postgres --username=postgres --command="CREATE USER ckan_default WITH PASSWORD 'pass' NOSUPERUSER NOCREATEDB NOCREATEROLE;" | |
createdb --encoding=utf-8 --host=postgres --username=postgres --owner=ckan_default ckan_test | |
psql --host=postgres --username=postgres --command="CREATE USER datastore_write WITH PASSWORD 'pass' NOSUPERUSER NOCREATEDB NOCREATEROLE;" | |
psql --host=postgres --username=postgres --command="CREATE USER datastore_read WITH PASSWORD 'pass' NOSUPERUSER NOCREATEDB NOCREATEROLE;" | |
createdb --encoding=utf-8 --host=postgres --username=postgres --owner=datastore_write datastore_test | |
- name: Setup postgis | |
run: | | |
psql --host=postgres --username=postgres -d ckan_test --command="ALTER ROLE ckan_default WITH superuser;" | |
psql --host=postgres --username=postgres -d ckan_test --command="CREATE EXTENSION postgis;" | |
- name: Install dependency (common) | |
run: | | |
apk add --no-cache \ | |
geos \ | |
geos-dev \ | |
proj-util \ | |
proj-dev \ | |
libxml2 \ | |
libxslt \ | |
gcc \ | |
swig \ | |
libxml2-dev \ | |
libxslt-dev | |
- name: Install dependency (python3) | |
if: ${{ matrix.ckan-version == '2.10' }} | |
run: | | |
apk add --no-cache \ | |
python3-dev | |
pip install -U pip | |
pip install -r dev-requirements.txt | |
- name: Install dependency - ckanext-harvest and its requirements... | |
run: | | |
git clone --branch master https://github.com/ckan/ckanext-harvest | |
cd ckanext-harvest | |
python3 setup.py develop | |
pip install -r pip-requirements.txt | |
# paster harvester initdb -c ../ckan/test-core.ini | |
- name: Install dependency - ckanext-dcat and its requirements... | |
run: | | |
git clone --branch master https://github.com/ckan/ckanext-dcat | |
cd ckanext-dcat | |
python3 setup.py develop | |
pip install -r requirements.txt | |
- name: Install dependency - ckanext-spatial and its requirements... | |
run: | | |
git clone --branch master https://github.com/ckan/ckanext-spatial | |
cd ckanext-spatial | |
python3 setup.py develop | |
# #TODO: Make compatable pyproj with py3 vesions | |
# sed -i '/pyproj==2.6.1/cpyproj' requirements.txt | |
pip install -r pip-requirements.txt | |
# paster spatial initdb -c ../ckan/test-core.ini | |
- name: Install dependency - ckanext-multilang and its requirements... | |
run: | | |
git clone --branch master https://github.com/geosolutions-it/ckanext-multilang | |
cd ckanext-multilang | |
python3 setup.py develop | |
# paster multilangdb initdb -c ../ckan/test-core.ini | |
# ckan -c test.ini multilang initdb | |
- name: Install dependency - ckanext-dcatapit and its requirements... | |
run: | | |
python3 setup.py develop | |
pip install -r dev-requirements.txt | |
# paster vocabulary initdb -c ckan/test-core.ini | |
- name: Install ckanext-dcatapit | |
run: | | |
pip install -e . | |
# Replace default path to CKAN core config file with the one on the container | |
sed -i -e 's/use = config:.*/use = config:\/srv\/app\/src\/ckan\/test-core.ini/' test.ini | |
- name: Setup extensions | |
run: | | |
crudini --set --verbose --list --list-sep=\ test.ini app:main ckan.plugins multilang_resources ckan_harvester multilang multilang_harvester dcat harvest spatial_metadata spatial_query spatial_harvest_metadata_api dcat_rdf_harvester dcatapit_pkg dcatapit_org dcatapit_config dcatapit_harvester dcatapit_csw_harvester dcatapit_theme_group_mapper dcatapit_ckan_harvester | |
crudini --set --verbose test.ini app:main ckanext.dcat.expose_subcatalogs False | |
crudini --set --verbose test.ini app:main ckanext.dcatapit.localized_resources True | |
crudini --set --verbose --list --list-sep=\ test.ini app:main ckanext.dcat.rdf.profiles euro_dcat_ap it_dcat_ap | |
ckan -c test.ini db init | |
ckan -c test.ini db upgrade -p harvest | |
ckan -c test.ini db upgrade -p spatial | |
# ckan -c test.ini dcat generate_static | |
ckan -c test.ini db upgrade -p multilang | |
- name: Setup extensions (dcatapit) | |
run: | | |
ckan -c test.ini db upgrade -p dcatapit | |
#- name: Run tests | |
#run: pytest --ckan-ini=test.ini --cov=ckanext.dcatapit --cov-report=xml --cov-append --disable-warnings ckanext/dcatapit/tests | |
- name: Upload coverage report to codecov | |
uses: codecov/codecov-action@v1 | |
with: | |
file: ./coverage.xml |