]> git.openstreetmap.org Git - nominatim.git/commitdiff
actions: switch no-superuser test to PostgreSQL 16
authorSarah Hoffmann <lonvia@denofr.de>
Fri, 16 Feb 2024 11:05:12 +0000 (12:05 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Fri, 16 Feb 2024 16:14:47 +0000 (17:14 +0100)
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

index 42c03edc17d9e76fd20463b6294c25ce1fa730bc..e3d7b4a6a63ca1cf0a3993959244789d38b9183f 100644 (file)
@@ -354,90 +354,43 @@ jobs:
       runs-on: ubuntu-latest
       needs: create-archive
 
       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:
       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
           - 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
 
           - 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
                 rm -rf Nominatim
-                mkdir data-env-reverse
-            working-directory: /home/nominatim
 
           - name: Prepare Database
             run: |
                 nominatim import --prepare-database
 
           - name: Prepare Database
             run: |
                 nominatim import --prepare-database
-            working-directory: /home/nominatim/nominatim-project
 
           - name: Create import user
             run: |
 
           - 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: |
 
           - 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
 
           - 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