name: 'Build Nominatim'
+inputs:
+ ubuntu:
+ description: 'Version of Ubuntu to install on'
+ required: false
+ default: '20'
+ cmake-args:
+ description: 'Additional options to hand to cmake'
+ required: false
+ default: ''
+
runs:
using: "composite"
steps:
- - name: Install prerequisites
+ - name: Clean out the disk
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 python3-psycopg2 python3-pyosmium python3-dotenv python3-psutil python3-jinja2 python3-icu python3-argparse-manpage
+ sudo rm -rf /opt/hostedtoolcache/go /opt/hostedtoolcache/CodeQL /usr/lib/jvm /usr/local/share/chromium /usr/local/lib/android
+ df -h
shell: bash
-
- - name: Download dependencies
+ - name: Install prerequisites
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
+ 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 }}
+ CMAKE_ARGS: ${{ inputs.cmake-args }}
- name: Configure
- run: mkdir build && cd build && cmake ../Nominatim
+ run: mkdir build && cd build && cmake $CMAKE_ARGS ../Nominatim
shell: bash
+ env:
+ CMAKE_ARGS: ${{ inputs.cmake-args }}
- name: Build
run: |