]> git.openstreetmap.org Git - nominatim.git/blob - .github/actions/build-nominatim/action.yml
281b5128fa76c6f009ec228011a5c21df8507215
[nominatim.git] / .github / actions / build-nominatim / action.yml
1 name: 'Build Nominatim'
2
3 inputs:
4     flavour:
5         description: 'Version of Ubuntu to install on'
6         required: false
7         default: 'ubuntu-20'
8     cmake-args:
9         description: 'Additional options to hand to cmake'
10         required: false
11         default: ''
12     lua:
13         description: 'Version of Lua to use'
14         required: false
15         default: '5.3'
16
17 runs:
18     using: "composite"
19
20     steps:
21         - name: Clean out the disk
22           run: |
23             sudo rm -rf /opt/hostedtoolcache/go /opt/hostedtoolcache/CodeQL /usr/lib/jvm /usr/local/share/chromium /usr/local/lib/android
24             df -h
25           shell: bash
26         - name: Install${{ matrix.flavour }} prerequisites
27           run: |
28             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
29             if [ "$FLAVOUR" == "oldstuff" ]; then
30                 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
31             else
32                 sudo apt-get install -y -qq python3-icu python3-datrie python3-pyosmium python3-jinja2 python3-psutil python3-psycopg2 python3-dotenv python3-yaml
33                 pip3 install sqlalchemy psycopg
34             fi
35           shell: bash
36           env:
37             FLAVOUR: ${{ inputs.flavour }}
38             CMAKE_ARGS: ${{ inputs.cmake-args }}
39             LUA_VERSION: ${{ inputs.lua }}
40
41         - name: Configure
42           run: mkdir build && cd build && cmake $CMAKE_ARGS ../Nominatim
43           shell: bash
44           env:
45             CMAKE_ARGS: ${{ inputs.cmake-args }}
46
47         - name: Build
48           run: |
49               make -j2 all
50               sudo make install
51           shell: bash
52           working-directory: build