+ - name: Install Postgresql server dev
+ run: sudo apt-get install postgresql-server-dev-13
+
+ - uses: ./Nominatim/.github/actions/build-nominatim
+ with:
+ cmake-args: -DBUILD_MODULE=on
+
+ - name: Install test prerequsites
+ run: sudo apt-get install -y -qq python3-behave
+
+ - name: BDD tests (legacy tokenizer)
+ run: |
+ python3 -m behave -DREMOVE_TEMPLATE=1 -DBUILDDIR=$GITHUB_WORKSPACE/build -DTOKENIZER=legacy --format=progress3
+ working-directory: Nominatim/test/bdd
+
+
+ python-api-test:
+ needs: create-archive
+ runs-on: ubuntu-22.04
+
+ steps:
+ - uses: actions/download-artifact@v3
+ with:
+ name: full-source
+
+ - name: Unpack Nominatim
+ run: tar xf nominatim-src.tar.bz2
+
+ - uses: ./Nominatim/.github/actions/setup-postgresql
+ with:
+ postgresql-version: 15
+ postgis-version: 3
+
+ - uses: ./Nominatim/.github/actions/build-nominatim
+ with:
+ flavour: 'ubuntu-22'
+
+ - name: Install test prerequsites
+ run: sudo apt-get install -y -qq python3-behave
+
+ - name: Install Python webservers
+ run: pip3 install starlette asgi_lifespan httpx
+
+ - name: BDD tests (starlette)
+ run: |
+ python3 -m behave -DREMOVE_TEMPLATE=1 -DBUILDDIR=$GITHUB_WORKSPACE/build -DAPI_ENGINE=starlette --format=progress3
+ working-directory: Nominatim/test/bdd
+
+
+ install:
+ runs-on: ubuntu-latest
+ needs: create-archive
+
+ strategy:
+ matrix:
+ name: [Ubuntu-20, Ubuntu-22]
+ include:
+ - name: Ubuntu-20
+ image: "ubuntu:20.04"
+ ubuntu: 20
+ install_mode: install-apache
+ - 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)