X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/719b66e5ed23541db18fc7109cdd01f448d2ad62..4cce681ead77ff2e5bdee2e7f1695162c805bbb5:/.github/actions/build-nominatim/action.yml diff --git a/.github/actions/build-nominatim/action.yml b/.github/actions/build-nominatim/action.yml index 70392d79..85eef53f 100644 --- a/.github/actions/build-nominatim/action.yml +++ b/.github/actions/build-nominatim/action.yml @@ -1,18 +1,10 @@ name: 'Build Nominatim' inputs: - flavour: - description: 'Version of Ubuntu to install on' + dependencies: + description: 'Where to install dependencies from (pip/apt)' 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' + default: 'pip' runs: using: "composite" @@ -23,30 +15,30 @@ runs: 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 + - name: Install general prerequisites + run: | + sudo apt-get install -y -qq libspatialite-dev libsqlite3-mod-spatialite libicu-dev virtualenv python3-dev osm2pgsql + shell: bash + + - name: Install prerequisites from apt 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 - if [ "$FLAVOUR" == "oldstuff" ]; then - pip3 install MarkupSafe==2.0.1 python-dotenv psycopg2==2.7.7 jinja2==2.8 psutil==5.4.2 pyicu==2.9 osmium PyYAML==5.1 sqlalchemy==1.4.31 datrie asyncpg - else - sudo apt-get install -y -qq python3-icu python3-datrie python3-pyosmium python3-jinja2 python3-psutil python3-psycopg2 python3-dotenv python3-yaml - pip3 install sqlalchemy psycopg - fi + sudo apt-get install -y -qq python3-icu python3-datrie python3-jinja2 python3-psutil python3-dotenv python3-yaml python3-sqlalchemy python3-psycopg python3-asyncpg shell: bash - env: - FLAVOUR: ${{ inputs.flavour }} - CMAKE_ARGS: ${{ inputs.cmake-args }} - LUA_VERSION: ${{ inputs.lua }} + if: inputs.dependencies == 'apt' - - name: Configure - run: mkdir build && cd build && cmake $CMAKE_ARGS ../Nominatim + - name: Setup virtual environment (for pip) + run: | + virtualenv venv + ./venv/bin/pip install -U pip shell: bash - env: - CMAKE_ARGS: ${{ inputs.cmake-args }} + if: inputs.dependencies == 'pip' - - name: Build + - name: Setup virtual environment (for apt) run: | - make -j2 all - sudo make install + virtualenv venv --system-site-packages + shell: bash + if: inputs.dependencies == 'apt' + + - name: Build nominatim + run: ./venv/bin/pip install Nominatim/packaging/nominatim-{api,db} shell: bash - working-directory: build