name: 'Build Nominatim'

inputs:
    ubuntu:
        description: 'Version of Ubuntu to install on'
        required: false
        default: '20'

runs:
    using: "composite"

    steps:
        - name: Install prerequisites
          run: |
            sudo apt-get install -y -qq libboost-system-dev libboost-filesystem-dev libexpat1-dev zlib1g-dev libbz2-dev libpq-dev libproj-dev libicu-dev
            if [ "x$UBUNTUVER" == "x18" ]; then
                pip3 install python-dotenv psycopg2==2.7.7 jinja2==2.8 psutil==5.4.2 pyicu osmium PyYAML==5.1 datrie
            else
                sudo apt-get install -y -qq python3-icu python3-datrie python3-pyosmium python3-jinja2 python3-psutil python3-psycopg2 python3-dotenv python3-yaml
            fi
          shell: bash
          env:
            UBUNTUVER: ${{ inputs.ubuntu }}

        - name: Download dependencies
          run: |
              if [ ! -f country_grid.sql.gz ]; then
                  wget --no-verbose https://www.nominatim.org/data/country_grid.sql.gz
              fi
              cp country_grid.sql.gz Nominatim/data/country_osm_grid.sql.gz
          shell: bash

        - name: Configure
          run: mkdir build && cd build && cmake ../Nominatim
          shell: bash

        - name: Build
          run: |
              make -j2 all
              sudo make install
          shell: bash
          working-directory: build
