run: |
sudo apt-get install -y -qq libboost-system-dev libboost-filesystem-dev libexpat1-dev zlib1g-dev libbz2-dev libpq-dev libproj-dev libicu-dev
if [ "x$UBUNTUVER" == "x18" ]; then
- pip3 install python-dotenv psycopg2==2.7.7 jinja2==2.8 psutil==5.4.2 pyicu osmium
+ pip3 install python-dotenv psycopg2==2.7.7 jinja2==2.8 psutil==5.4.2 pyicu osmium PyYAML==5.1 datrie
else
- sudo apt-get install -y -qq python3-icu python3-datrie python3-pyosmium python3-jinja2 python3-psutil python3-psycopg2 python3-dotenv
+ sudo apt-get install -y -qq python3-icu python3-datrie python3-pyosmium python3-jinja2 python3-psutil python3-psycopg2 python3-dotenv python3-yaml
fi
shell: bash
env:
jobs:
tests:
- runs-on: ubuntu-20.04
-
strategy:
matrix:
- postgresql: [9.5, 13]
+ ubuntu: [18, 20]
include:
- - postgresql: 9.5
+ - ubuntu: 18
+ postgresql: 9.5
postgis: 2.5
- - postgresql: 13
+ pytest: pytest
+ - ubuntu: 20
+ postgresql: 13
postgis: 3
+ pytest: py.test-3
+
+ runs-on: ubuntu-${{ matrix.ubuntu }}.04
steps:
- uses: actions/checkout@v2
php-version: '7.4'
tools: phpunit, phpcs, composer
+ - uses: actions/setup-python@v2
+ with:
+ python-version: 3.6
+ if: matrix.ubuntu == 18
+
- name: Get Date
id: get-date
run: |
with:
postgresql-version: ${{ matrix.postgresql }}
postgis-version: ${{ matrix.postgis }}
+
- uses: ./Nominatim/.github/actions/build-nominatim
+ with:
+ ubuntu: ${{ matrix.ubuntu }}
- name: Install test prerequsites
run: sudo apt-get install -y -qq php-codesniffer pylint python3-pytest python3-behave python3-pytest-cov php-codecoverage php-xdebug
+ if: matrix.ubuntu == 20
+
+ - name: Install test prerequsites
+ run: |
+ sudo apt-get install -y -qq php-codesniffer php-codecoverage php-xdebug
+ pip3 install pylint==2.6.0 pytest pytest-cov behave==1.2.6
+ if: matrix.ubuntu == 18
- name: PHP linting
run: phpcs --report-width=120 .
working-directory: Nominatim
- name: Python linting
- run: pylint --extension-pkg-whitelist=osmium nominatim
+ run: pylint nominatim
working-directory: Nominatim
- name: PHP unit tests
working-directory: Nominatim/test/php
- name: Python unit tests
- run: py.test-3 --cov=nominatim --cov-report=xml test/python
+ run: $PYTEST --cov=nominatim --cov-report=xml test/python
working-directory: Nominatim
+ env:
+ PYTEST: ${{ matrix.pytest }}
- name: BDD tests
run: |
+ mkdir cov
behave -DREMOVE_TEMPLATE=1 -DBUILDDIR=$GITHUB_WORKSPACE/build --format=progress3 -DPHPCOV=./cov
composer require phpunit/phpcov:7.0.2
vendor/bin/phpcov merge --clover ../../coverage-bdd.xml ./cov