]> git.openstreetmap.org Git - nominatim.git/blobdiff - .github/actions/build-nominatim/action.yml
also force nominatim in build dir to venv python
[nominatim.git] / .github / actions / build-nominatim / action.yml
index 44c19a22d2c3de8649a9b5901e488a217b5fd432..d601fc7b7880534eec5934e4bb0e7ab57a2c03c1 100644 (file)
@@ -1,25 +1,52 @@
 name: 'Build Nominatim'
 
 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:
 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