X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/7bc0fc96119b6b3345e5d26533361504d44eae27..c3238682a8867edfb3c052ca4d2d27b3926ad17a:/.github/workflows/ci-tests.yml diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index c0db57b2..cbb7aa6c 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -6,11 +6,43 @@ 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 @@ -21,13 +53,6 @@ jobs: - name: PHP linting run: phpcs --report-width=120 . - - name: Setup database - run: | - sudo systemctl start postgresql - sudo -u postgres createuser -S www-data - sudo -u postgres createuser -s runner - shell: bash - - name: PHP unit tests run: phpunit ./ working-directory: test/php @@ -44,24 +69,37 @@ jobs: with: submodules: true - - uses: ./.github/actions/build-nominatim - - - name: Download test extract - run: wget --no-verbose https://download.geofabrik.de/europe/monaco-latest.osm.pbf - - - name: Setup database + - name: Get Date + id: get-date run: | - sudo systemctl start postgresql - sudo -u postgres createuser -S www-data - sudo -u postgres createuser -s runner + echo "::set-output name=date::$(/bin/date -u "+%Y%W")" shell: bash - - name: Create configuartion + - 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 ' settings/local.php - echo " @define('CONST_Pyosmium_Binary', '/usr/lib/python3-pyosmium/pyosmium-get-changes');" >> settings/local.php + 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: php ./utils/setup.php --osm-file ../monaco-latest.osm.pbf --osm2pgsql-cache 500 --all working-directory: build @@ -79,3 +117,9 @@ jobs: php ./utils/update.php --init-updates php ./utils/update.php --import-osmosis working-directory: build + + - name: Run reverse-only import + run : | + dropdb nominatim + php ./utils/setup.php --osm-file ../monaco-latest.osm.pbf --reverse-only --all + working-directory: build