- uses: actions/cache@v2
with:
path: |
- {{ github.workspace }}/data/country_osm_grid.sql.gz
- {{ github.workspace }}/monaco-latest.osm.pbf
+ data/country_osm_grid.sql.gz
+ monaco-latest.osm.pbf
key: nominatim-data-${{ steps.get-date.outputs.date }}
- uses: ./.github/actions/setup-postgresql
- uses: ./.github/actions/build-nominatim
- name: Install test prerequsites
- run: |
- sudo apt-get install -y -qq php-codesniffer
- sudo pip3 install behave
+ run: sudo apt-get install -y -qq php-codesniffer pylint python3-pytest python3-behave
- name: PHP linting
run: phpcs --report-width=120 .
+ - name: Python linting
+ run: pylint --extension-pkg-whitelist=osmium nominatim
+
- name: PHP unit tests
run: phpunit ./
working-directory: test/php
+ - name: Python unit tests
+ run: py.test-3 test/python
+
- name: BDD tests
run: behave -DREMOVE_TEMPLATE=1 --format=progress3
working-directory: test/bdd
- uses: actions/cache@v2
with:
path: |
- {{ github.workspace }}/data/country_osm_grid.sql.gz
- {{ github.workspace }}/monaco-latest.osm.pbf
+ data/country_osm_grid.sql.gz
+ monaco-latest.osm.pbf
key: nominatim-data-${{ steps.get-date.outputs.date }}
- uses: ./.github/actions/setup-postgresql
postgis-version: 3
- uses: ./.github/actions/build-nominatim
- - name: Create configuration
- run: |
- echo "NOMINATIM_PYOSMIUM_BINARY=/usr/lib/python3-pyosmium/pyosmium-get-changes" >> .env
- working-directory: build
-
- name: Download import data
run: |
if [ ! -f monaco-latest.osm.pbf ]; then
shell: bash
- name: Import
- run: ./nominatim import --osm-file ../monaco-latest.osm.pbf
- working-directory: build
+ run: |
+ mkdir data-env
+ cd data-env
+ ../build/nominatim import --osm-file ../monaco-latest.osm.pbf
+ shell: bash
- name: Import special phrases
- run: ./nominatim special-phrases --from-wiki | psql -d nominatim
- working-directory: build
+ run: ../build/nominatim special-phrases --from-wiki | psql -d nominatim
+ working-directory: data-env
- name: Check import
- run: ./nominatim check-database
- working-directory: build
+ run: ../build/nominatim check-database
+ working-directory: data-env
- name: Run update
run: |
- ./nominatim replication --init
- ./nominatim replication --once
- working-directory: build
+ ../build/nominatim replication --init
+ ../build/nominatim replication --once
+ working-directory: data-env
- name: Run reverse-only import
run : |
- dropdb nominatim
- php ./nominatim import --osm-file ../monaco-latest.osm.pbf --reverse-only
- working-directory: build
+ echo 'NOMINATIM_DATABASE_DSN="pgsql:dbname=reverse"' > .env
+ ../build/nominatim import --osm-file ../monaco-latest.osm.pbf --reverse-only
+ working-directory: data-env