]> git.openstreetmap.org Git - nominatim.git/blobdiff - .github/actions/build-nominatim/action.yml
release 4.5.0.post7
[nominatim.git] / .github / actions / build-nominatim / action.yml
index c11b0f77b7925bf8042fdbaff561970c377dc809..85eef53fc4e4b6281ed2e5fb8b9cee3365af09e6 100644 (file)
@@ -1,25 +1,44 @@
 name: 'Build Nominatim'
 
+inputs:
+    dependencies:
+        description: 'Where to install dependencies from (pip/apt)'
+        required: false
+        default: 'pip'
+
 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 python3-psycopg2 python3-pyosmium
-              shell: bash
+        - 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 general prerequisites
+          run: |
+            sudo apt-get install -y -qq libspatialite-dev libsqlite3-mod-spatialite libicu-dev virtualenv python3-dev osm2pgsql
+          shell: bash
 
-            - name: Configure
-              run: mkdir build && cd build && cmake ..
-              shell: bash
+        - name: Install prerequisites from apt
+          run: |
+            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
+          if: inputs.dependencies == 'apt'
 
-            - name: Build
-              run: |
-                  make -j2 all
-                  ./utils/setup.php --setup-website
-              shell: bash
-              working-directory: build
+        - name: Setup virtual environment (for pip)
+          run: |
+            virtualenv venv
+            ./venv/bin/pip install -U pip
+          shell: bash
+          if: inputs.dependencies == 'pip'
 
-            - name: Download dependencies
-              run: wget -O data/country_osm_grid.sql.gz https://www.nominatim.org/data/country_grid.sql.gz
-              shell: bash
+        - name: Setup virtual environment (for apt)
+          run: |
+            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