name: 'Build Nominatim'
+inputs:
+ flavour:
+ description: 'Version of Ubuntu to install on'
+ required: false
+ default: 'ubuntu-20'
+ cmake-args:
+ description: 'Additional options to hand to cmake'
+ required: false
+ default: ''
+ lua:
+ description: 'Version of Lua to use'
+ required: false
+ default: '5.3'
+
runs:
using: "composite"
steps:
- - name: Install prerequisits
- run: sudo apt-get install -y -qq libboost-system-dev libboost-filesystem-dev libexpat1-dev zlib1g-dev libbz2-dev libpq-dev libproj-dev postgresql-13-postgis-3 postgresql-13-postgis-3-scripts postgresql-server-dev-13 python3-psycopg2 python3-pyosmium
- shell: bash
-
- - name: Configure
- run: mkdir build && cd build && cmake ..
- shell: bash
-
- - name: Build
- run: |
- make -j2 all
- ./utils/setup.php --setup-website
- shell: bash
- working-directory: build
+ - name: Clean out the disk
+ run: |
+ 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: Install${{ matrix.flavour }} 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 liblua${LUA_VERSION}-dev lua${LUA_VERSION} lua-dkjson nlohmann-json3-dev libspatialite7 libsqlite3-mod-spatialite
+ if [ "$FLAVOUR" == "oldstuff" ]; then
+ pip3 install MarkupSafe==2.0.1 python-dotenv jinja2==2.8 psutil==5.4.2 pyicu==2.9 osmium PyYAML==5.1 sqlalchemy==1.4.31 psycopg==3.1.7 datrie asyncpg aiosqlite
+ else
+ sudo apt-get install -y -qq python3-icu python3-datrie python3-pyosmium python3-jinja2 python3-psutil python3-dotenv python3-yaml
+ pip3 install sqlalchemy psycopg aiosqlite
+ fi
+ shell: bash
+ env:
+ FLAVOUR: ${{ inputs.flavour }}
+ CMAKE_ARGS: ${{ inputs.cmake-args }}
+ LUA_VERSION: ${{ inputs.lua }}
- - name: Download dependencies
- run: wget -O data/country_osm_grid.sql.gz https://www.nominatim.org/data/country_grid.sql.gz
- shell: bash
+ - name: Configure
+ run: mkdir build && cd build && cmake $CMAKE_ARGS ../Nominatim
+ shell: bash
+ env:
+ CMAKE_ARGS: ${{ inputs.cmake-args }}
+ - name: Build
+ run: |
+ make -j2 all
+ sudo make install
+ shell: bash
+ working-directory: build