mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-15 19:07:58 +00:00
This means that the php-symfony-dotenv library is now only needed when using the legacy scripts. This includes the BDD tests which currently still rely on the PHP utils.
126 lines
3.9 KiB
YAML
126 lines
3.9 KiB
YAML
name: CI Tests
|
|
|
|
on: [ push, pull_request ]
|
|
|
|
jobs:
|
|
tests:
|
|
runs-on: ubuntu-20.04
|
|
|
|
strategy:
|
|
matrix:
|
|
postgresql: [9.5, 13]
|
|
include:
|
|
- postgresql: 9.5
|
|
postgis: 2.5
|
|
- postgresql: 13
|
|
postgis: 3
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: '7.4'
|
|
tools: phpunit, phpcs
|
|
|
|
- name: Get Date
|
|
id: get-date
|
|
run: |
|
|
echo "::set-output name=date::$(/bin/date -u "+%Y%W")"
|
|
shell: bash
|
|
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
{{ github.workspace }}/data/country_osm_grid.sql.gz
|
|
{{ github.workspace }}/monaco-latest.osm.pbf
|
|
key: nominatim-data-${{ steps.get-date.outputs.date }}
|
|
|
|
- uses: ./.github/actions/setup-postgresql
|
|
with:
|
|
postgresql-version: ${{ matrix.postgresql }}
|
|
postgis-version: ${{ matrix.postgis }}
|
|
- uses: ./.github/actions/build-nominatim
|
|
|
|
- name: Install test prerequsites
|
|
run: |
|
|
sudo apt-get install -y -qq php-codesniffer python3-tidylib php-symfony-dotenv
|
|
sudo pip3 install behave
|
|
|
|
- name: PHP linting
|
|
run: phpcs --report-width=120 .
|
|
|
|
- name: PHP unit tests
|
|
run: phpunit ./
|
|
working-directory: test/php
|
|
|
|
- name: BDD tests
|
|
run: behave -DREMOVE_TEMPLATE=1 --format=progress3
|
|
working-directory: test/bdd
|
|
|
|
import:
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Get Date
|
|
id: get-date
|
|
run: |
|
|
echo "::set-output name=date::$(/bin/date -u "+%Y%W")"
|
|
shell: bash
|
|
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
{{ github.workspace }}/data/country_osm_grid.sql.gz
|
|
{{ github.workspace }}/monaco-latest.osm.pbf
|
|
key: nominatim-data-${{ steps.get-date.outputs.date }}
|
|
|
|
- uses: ./.github/actions/setup-postgresql
|
|
with:
|
|
postgresql-version: 13
|
|
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
|
|
wget --no-verbose https://download.geofabrik.de/europe/monaco-latest.osm.pbf
|
|
fi
|
|
shell: bash
|
|
|
|
- name: Import
|
|
run: ./nominatim import --osm-file ../monaco-latest.osm.pbf
|
|
working-directory: build
|
|
|
|
- name: Import special phrases
|
|
run: ./nominatim special-phrases --from-wiki | psql -d nominatim
|
|
working-directory: build
|
|
|
|
- name: Check import
|
|
run: ./nominatim check-database
|
|
working-directory: build
|
|
|
|
- name: Run update
|
|
run: |
|
|
./nominatim replication --init
|
|
./nominatim replication --once
|
|
working-directory: build
|
|
|
|
- name: Run reverse-only import
|
|
run : |
|
|
dropdb nominatim
|
|
php ./nominatim import --osm-file ../monaco-latest.osm.pbf --reverse-only
|
|
working-directory: build
|