3 on: [ push, pull_request ]
19 - uses: actions/checkout@v2
25 uses: shivammathur/setup-php@v2
33 echo "::set-output name=date::$(/bin/date -u "+%Y%W")"
36 - uses: actions/cache@v2
40 key: nominatim-country-data-${{ steps.get-date.outputs.date }}
42 - uses: ./Nominatim/.github/actions/setup-postgresql
44 postgresql-version: ${{ matrix.postgresql }}
45 postgis-version: ${{ matrix.postgis }}
46 - uses: ./Nominatim/.github/actions/build-nominatim
48 - name: Install test prerequsites
49 run: sudo apt-get install -y -qq php-codesniffer pylint python3-pytest python3-behave
52 run: phpcs --report-width=120 .
53 working-directory: Nominatim
55 - name: Python linting
56 run: pylint --extension-pkg-whitelist=osmium nominatim
57 working-directory: Nominatim
59 - name: PHP unit tests
61 working-directory: Nominatim/test/php
63 - name: Python unit tests
64 run: py.test-3 test/python
65 working-directory: Nominatim
68 run: behave -DREMOVE_TEMPLATE=1 -DBUILDDIR=$GITHUB_WORKSPACE/build --format=progress3
69 working-directory: Nominatim/test/bdd
83 runs-on: ubuntu-${{ matrix.ubuntu }}.04
86 - uses: actions/checkout@v2
94 echo "::set-output name=date::$(/bin/date -u "+%Y%W")"
97 - uses: actions/cache@v2
101 key: nominatim-country-data-${{ steps.get-date.outputs.date }}
103 - uses: actions/cache@v2
106 monaco-latest.osm.pbf
107 key: nominatim-test-data-${{ steps.get-date.outputs.date }}
109 - uses: actions/setup-python@v2
112 if: matrix.ubuntu == 18
114 - uses: ./Nominatim/.github/actions/setup-postgresql
116 postgresql-version: ${{ matrix.postgresql }}
117 postgis-version: ${{ matrix.postgis }}
118 - uses: ./Nominatim/.github/actions/build-nominatim
120 - name: Install extra dependencies for Ubuntu 18
122 sudo apt-get install libicu-dev
123 pip3 install python-dotenv psycopg2==2.7.7 jinja2==2.8 psutil==5.4.2 pyicu osmium
125 if: matrix.ubuntu == 18
127 - name: Clean installation
128 run: rm -rf Nominatim build
131 - name: Prepare import environment
133 if [ ! -f monaco-latest.osm.pbf ]; then
134 wget --no-verbose https://download.geofabrik.de/europe/monaco-latest.osm.pbf
141 run: nominatim import --osm-file ../monaco-latest.osm.pbf
143 working-directory: data-env
145 - name: Import special phrases
146 run: nominatim special-phrases --import-from-wiki
147 working-directory: data-env
150 run: nominatim admin --check-database
151 working-directory: data-env
153 - name: Warm up database
154 run: nominatim admin --warm
155 working-directory: data-env
159 nominatim replication --init
160 nominatim replication --once
161 working-directory: data-env
163 - name: Run reverse-only import
164 run : nominatim import --osm-file ../monaco-latest.osm.pbf --reverse-only
165 working-directory: data-env
167 NOMINATIM_DATABASE_DSN: pgsql:dbname=reverse