uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
- tools: phpunit, phpcs
+ tools: phpunit, phpcs, composer
- name: Get Date
id: get-date
- uses: ./Nominatim/.github/actions/build-nominatim
- name: Install test prerequsites
- run: sudo apt-get install -y -qq php-codesniffer pylint python3-pytest python3-behave python3-coverage
+ run: sudo apt-get install -y -qq php-codesniffer pylint python3-pytest python3-behave python3-pytest-cov php-codecoverage php-xdebug
- name: PHP linting
run: phpcs --report-width=120 .
working-directory: Nominatim/test/php
- name: Python unit tests
- run: |
- python3-coverage run -m pytest ./test/python
- python3-coverage xml -o ./coverage-pytest.xml
-
+ run: py.test-3 --cov=nominatim --cov-report=xml test/python
working-directory: Nominatim
- name: BDD tests
run: |
- python3-coverage run -m behave -DREMOVE_TEMPLATE=1 -DBUILDDIR=$GITHUB_WORKSPACE/build --format=progress3
- python3-coverage xml -o ../../coverage-bdd.xml
-
+ 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
working-directory: Nominatim/test/bdd
- name: Upload coverage to Codecov
with:
files: ./Nominatim/coverage*.xml
directory: ./
- flags: unittests
name: codecov-umbrella
fail_ci_if_error: true
path_to_write_report: ./coverage/codecov_report.txt
verbose: true
import:
- runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ ubuntu: [18, 20]
+ include:
+ - ubuntu: 18
+ postgresql: 9.5
+ postgis: 2.5
+ - ubuntu: 20
+ postgresql: 13
+ postgis: 3
+
+ runs-on: ubuntu-${{ matrix.ubuntu }}.04
steps:
- uses: actions/checkout@v2
monaco-latest.osm.pbf
key: nominatim-test-data-${{ steps.get-date.outputs.date }}
+ - uses: actions/setup-python@v2
+ with:
+ python-version: 3.5
+ if: matrix.ubuntu == 18
+
- uses: ./Nominatim/.github/actions/setup-postgresql
with:
- postgresql-version: 13
- postgis-version: 3
+ postgresql-version: ${{ matrix.postgresql }}
+ postgis-version: ${{ matrix.postgis }}
- uses: ./Nominatim/.github/actions/build-nominatim
+ - name: Install extra dependencies for Ubuntu 18
+ run: |
+ sudo apt-get install libicu-dev
+ pip3 install python-dotenv psycopg2==2.7.7 jinja2==2.8 psutil==5.4.2 pyicu osmium
+ shell: bash
+ if: matrix.ubuntu == 18
+
- name: Clean installation
run: rm -rf Nominatim build
shell: bash