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.
This commit is contained in:
Sarah Hoffmann
2024-02-16 12:05:12 +01:00
parent 2c8fb31381
commit b087f3ab7b

View File

@@ -354,90 +354,43 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: create-archive 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 - uses: actions/download-artifact@v3
with: with:
name: full-source name: full-source
path: /home/nominatim
- name: Install Nominatim - name: Unpack Nominatim
run: | run: tar xf nominatim-src.tar.bz2
export USERNAME=nominatim
export USERHOME=/home/nominatim - uses: ./Nominatim/.github/actions/setup-postgresql
export NOSYSTEMD=yes with:
export HAVE_SELINUX=no postgresql-version: 16
tar xf nominatim-src.tar.bz2 postgis-version: 3
. vagrant.sh
working-directory: /home/nominatim - uses: ./Nominatim/.github/actions/build-nominatim
with:
flavour: ubuntu-22
lua: 5.3
- name: Prepare import environment - name: Prepare import environment
run: | run: |
mv Nominatim/test/testdb/apidb-test-data.pbf test.pbf 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 - name: Prepare Database
run: | run: |
nominatim import --prepare-database nominatim import --prepare-database
working-directory: /home/nominatim/nominatim-project
- name: Create import user - name: Create import user
run: | run: |
sudo -u postgres createuser -S osm-import sudo -u postgres createuser osm-import
sudo -u postgres psql -c "ALTER USER \"osm-import\" WITH PASSWORD 'osm-import';" psql -d nominatim -c "ALTER USER \"osm-import\" WITH PASSWORD 'osm-import'"
working-directory: /home/nominatim/nominatim-project psql -d nominatim -c 'GRANT CREATE ON SCHEMA public TO "osm-import"'
- 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
- name: Run import - name: Run import
run: | 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 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
- name: Check full import - name: Check full import
run: nominatim admin --check-database run: |
working-directory: /home/nominatim/nominatim-project nominatim admin --check-database