From b087f3ab7b59b5c7c3b1ad00996232c832b5d0ea Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Fri, 16 Feb 2024 12:05:12 +0100 Subject: [PATCH] actions: switch no-superuser test to PostgreSQL 16 The new premission restrictions on the public schema took only place in PG15, so the previsouly used PG14 does not show any issues. --- .github/workflows/ci-tests.yml | 83 ++++++++-------------------------- 1 file changed, 18 insertions(+), 65 deletions(-) diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index 42c03edc..e3d7b4a6 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -354,90 +354,43 @@ jobs: runs-on: ubuntu-latest needs: create-archive - strategy: - matrix: - name: [Ubuntu-22] - include: - - name: Ubuntu-22 - image: "ubuntu:22.04" - ubuntu: 22 - install_mode: install-apache - - container: - image: ${{ matrix.image }} - env: - LANG: en_US.UTF-8 - - defaults: - run: - shell: sudo -Hu nominatim bash --noprofile --norc -eo pipefail {0} - steps: - - name: Prepare container (Ubuntu) - run: | - export APT_LISTCHANGES_FRONTEND=none - export DEBIAN_FRONTEND=noninteractive - apt-get update -qq - apt-get install -y git sudo wget - ln -snf /usr/share/zoneinfo/$CONTAINER_TIMEZONE /etc/localtime && echo $CONTAINER_TIMEZONE > /etc/timezone - shell: bash - - - name: Setup import user - run: | - useradd -m nominatim - echo 'nominatim ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/nominiatim - echo "/home/nominatim/Nominatim/vagrant/Install-on-${OS}.sh no $INSTALL_MODE" > /home/nominatim/vagrant.sh - shell: bash - env: - OS: ${{ matrix.name }} - INSTALL_MODE: ${{ matrix.install_mode }} - - uses: actions/download-artifact@v3 with: name: full-source - path: /home/nominatim - - name: Install Nominatim - run: | - export USERNAME=nominatim - export USERHOME=/home/nominatim - export NOSYSTEMD=yes - export HAVE_SELINUX=no - tar xf nominatim-src.tar.bz2 - . vagrant.sh - working-directory: /home/nominatim + - name: Unpack Nominatim + run: tar xf nominatim-src.tar.bz2 + + - uses: ./Nominatim/.github/actions/setup-postgresql + with: + postgresql-version: 16 + postgis-version: 3 + + - uses: ./Nominatim/.github/actions/build-nominatim + with: + flavour: ubuntu-22 + lua: 5.3 - name: Prepare import environment run: | mv Nominatim/test/testdb/apidb-test-data.pbf test.pbf - mv Nominatim/settings/flex-base.lua flex-base.lua - mv Nominatim/settings/import-extratags.lua import-extratags.lua - mv Nominatim/settings/taginfo.lua taginfo.lua rm -rf Nominatim - mkdir data-env-reverse - working-directory: /home/nominatim - name: Prepare Database run: | nominatim import --prepare-database - working-directory: /home/nominatim/nominatim-project - name: Create import user run: | - sudo -u postgres createuser -S osm-import - sudo -u postgres psql -c "ALTER USER \"osm-import\" WITH PASSWORD 'osm-import';" - working-directory: /home/nominatim/nominatim-project - - - name: Grant import user rights - run: | - sudo -u postgres psql -c "GRANT INSERT, UPDATE ON ALL TABLES IN SCHEMA public TO \"osm-import\";" - working-directory: /home/nominatim/nominatim-project + sudo -u postgres createuser osm-import + psql -d nominatim -c "ALTER USER \"osm-import\" WITH PASSWORD 'osm-import'" + psql -d nominatim -c 'GRANT CREATE ON SCHEMA public TO "osm-import"' - name: Run import run: | - NOMINATIM_DATABASE_DSN="pgsql:host=127.0.0.1;dbname=nominatim;user=osm-import;password=osm-import" nominatim import --continue import-from-file --osm-file ../test.pbf - working-directory: /home/nominatim/nominatim-project + NOMINATIM_DATABASE_DSN="pgsql:host=127.0.0.1;dbname=nominatim;user=osm-import;password=osm-import" nominatim import --continue import-from-file --osm-file test.pbf - name: Check full import - run: nominatim admin --check-database - working-directory: /home/nominatim/nominatim-project \ No newline at end of file + run: | + nominatim admin --check-database -- 2.39.5