- uses: ./Nominatim/.github/actions/build-nominatim
- name: Install test prerequsites
- run: sudo apt-get install -y -qq php-codesniffer pylint python3-pytest python3-behave
+ run: sudo apt-get install -y -qq php-codesniffer pylint python3-pytest python3-behave python3-coverage
- name: PHP linting
run: phpcs --report-width=120 .
working-directory: Nominatim
- name: PHP unit tests
- run: phpunit ./
+ run: phpunit --coverage-clover ../../coverage-php.xml ./
working-directory: Nominatim/test/php
- name: Python unit tests
- run: py.test-3 test/python
+ run: |
+ python3-coverage run -m pytest ./test/python
+ python3-coverage xml -o ./coverage-pytest.xml
+
working-directory: Nominatim
- name: BDD tests
- run: behave -DREMOVE_TEMPLATE=1 -DBUILDDIR=$GITHUB_WORKSPACE/build --format=progress3
+ run: |
+ python3-coverage run -m behave -DREMOVE_TEMPLATE=1 -DBUILDDIR=$GITHUB_WORKSPACE/build --format=progress3
+ python3-coverage xml -o ../../coverage-bdd.xml
+
working-directory: Nominatim/test/bdd
+ - name: Upload coverage to Codecov
+ uses: codecov/codecov-action@v1
+ 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