This ensures that any dangling references to the build
or source directory are caught by the CI.
- name: Download dependencies
run: |
- name: Download dependencies
run: |
- if [ ! -f data/country_osm_grid.sql.gz ]; then
- wget --no-verbose -O data/country_osm_grid.sql.gz https://www.nominatim.org/data/country_grid.sql.gz
+ if [ ! -f country_grid.sql.gz ]; then
+ wget --no-verbose https://www.nominatim.org/data/country_grid.sql.gz
+ cp country_grid.sql.gz Nominatim/data/country_osm_grid.sql.gz
shell: bash
- name: Configure
shell: bash
- name: Configure
- run: mkdir build && cd build && cmake ..
+ run: mkdir build && cd build && cmake ../Nominatim
shell: bash
- name: Build
shell: bash
- name: Build
- uses: actions/checkout@v2
with:
submodules: true
- uses: actions/checkout@v2
with:
submodules: true
- name: Setup PHP
uses: shivammathur/setup-php@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
- uses: actions/cache@v2
with:
path: |
- uses: actions/cache@v2
with:
path: |
- data/country_osm_grid.sql.gz
- monaco-latest.osm.pbf
- key: nominatim-data-${{ steps.get-date.outputs.date }}
+ country_grid.sql.gz
+ key: nominatim-country-data-${{ steps.get-date.outputs.date }}
- - uses: ./.github/actions/setup-postgresql
+ - uses: ./Nominatim/.github/actions/setup-postgresql
with:
postgresql-version: ${{ matrix.postgresql }}
postgis-version: ${{ matrix.postgis }}
with:
postgresql-version: ${{ matrix.postgresql }}
postgis-version: ${{ matrix.postgis }}
- - uses: ./.github/actions/build-nominatim
+ - uses: ./Nominatim/.github/actions/build-nominatim
- name: Install test prerequsites
run: sudo apt-get install -y -qq php-codesniffer pylint python3-pytest python3-behave
- name: PHP linting
run: phpcs --report-width=120 .
- name: Install test prerequsites
run: sudo apt-get install -y -qq php-codesniffer pylint python3-pytest python3-behave
- name: PHP linting
run: phpcs --report-width=120 .
+ working-directory: Nominatim
- name: Python linting
run: pylint --extension-pkg-whitelist=osmium nominatim
- name: Python linting
run: pylint --extension-pkg-whitelist=osmium nominatim
+ working-directory: Nominatim
- name: PHP unit tests
run: phpunit ./
- name: PHP unit tests
run: phpunit ./
- working-directory: test/php
+ working-directory: Nominatim/test/php
- name: Python unit tests
run: py.test-3 test/python
- name: Python unit tests
run: py.test-3 test/python
+ working-directory: Nominatim
- run: behave -DREMOVE_TEMPLATE=1 --format=progress3
- working-directory: test/bdd
+ run: behave -DREMOVE_TEMPLATE=1 -DBUILDDIR=$GITHUB_WORKSPACE/build --format=progress3
+ working-directory: Nominatim/test/bdd
import:
runs-on: ubuntu-20.04
import:
runs-on: ubuntu-20.04
- uses: actions/checkout@v2
with:
submodules: true
- uses: actions/checkout@v2
with:
submodules: true
- name: Get Date
id: get-date
- name: Get Date
id: get-date
- uses: actions/cache@v2
with:
path: |
- uses: actions/cache@v2
with:
path: |
- data/country_osm_grid.sql.gz
+ country_grid.sql.gz
+ key: nominatim-country-data-${{ steps.get-date.outputs.date }}
+
+ - uses: actions/cache@v2
+ with:
+ path: |
- key: nominatim-data-${{ steps.get-date.outputs.date }}
+ key: nominatim-test-data-${{ steps.get-date.outputs.date }}
- - uses: ./.github/actions/setup-postgresql
+ - uses: ./Nominatim/.github/actions/setup-postgresql
with:
postgresql-version: 13
postgis-version: 3
with:
postgresql-version: 13
postgis-version: 3
- - uses: ./.github/actions/build-nominatim
+ - uses: ./Nominatim/.github/actions/build-nominatim
+
+ - name: Clean installation
+ run: rm -rf Nominatim build
+ shell: bash
- name: Prepare import environment
run: |
- name: Prepare import environment
run: |
- mkdir data-env
- cd data-env
if [ ! -f monaco-latest.osm.pbf ]; then
wget --no-verbose https://download.geofabrik.de/europe/monaco-latest.osm.pbf
fi
if [ ! -f monaco-latest.osm.pbf ]; then
wget --no-verbose https://download.geofabrik.de/europe/monaco-latest.osm.pbf
fi
+ mkdir data-env
+ cd data-env
shell: bash
- name: Import
shell: bash
- name: Import
- run: nominatim import --osm-file monaco-latest.osm.pbf
+ run: nominatim import --osm-file ../monaco-latest.osm.pbf
shell: bash
working-directory: data-env
shell: bash
working-directory: data-env
working-directory: data-env
- name: Check import
working-directory: data-env
- name: Check import
- run: nominatim check-database
+ run: nominatim admin --check-database
working-directory: data-env
- name: Run update
working-directory: data-env
- name: Run update