mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-11-23 05:35:13 +03:00
switch CI to github acitons
This commit is contained in:
parent
e0e18e2b6f
commit
7bc0fc9611
25
.github/actions/build-nominatim/action.yml
vendored
Normal file
25
.github/actions/build-nominatim/action.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
name: 'Build Nominatim'
|
||||
|
||||
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: Download dependencies
|
||||
run: wget -O data/country_osm_grid.sql.gz https://www.nominatim.org/data/country_grid.sql.gz
|
||||
shell: bash
|
||||
|
81
.github/workflows/ci-tests.yml
vendored
Normal file
81
.github/workflows/ci-tests.yml
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
name: CI Tests
|
||||
|
||||
on: [ push, pull_request ]
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- uses: ./.github/actions/build-nominatim
|
||||
|
||||
- name: Install test prerequsites
|
||||
run: |
|
||||
sudo apt-get install -y -qq php-codesniffer python3-tidylib
|
||||
sudo pip3 install behave nose
|
||||
|
||||
- name: PHP linting
|
||||
run: phpcs --report-width=120 .
|
||||
|
||||
- name: Setup database
|
||||
run: |
|
||||
sudo systemctl start postgresql
|
||||
sudo -u postgres createuser -S www-data
|
||||
sudo -u postgres createuser -s runner
|
||||
shell: bash
|
||||
|
||||
- name: PHP unit tests
|
||||
run: phpunit ./
|
||||
working-directory: test/php
|
||||
|
||||
- name: BDD tests
|
||||
run: behave -DREMOVE_TEMPLATE=1 --format=progress3 db osm2pgsql
|
||||
working-directory: test/bdd
|
||||
|
||||
import:
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- uses: ./.github/actions/build-nominatim
|
||||
|
||||
- name: Download test extract
|
||||
run: wget --no-verbose https://download.geofabrik.de/europe/monaco-latest.osm.pbf
|
||||
|
||||
- name: Setup database
|
||||
run: |
|
||||
sudo systemctl start postgresql
|
||||
sudo -u postgres createuser -S www-data
|
||||
sudo -u postgres createuser -s runner
|
||||
shell: bash
|
||||
|
||||
- name: Create configuartion
|
||||
run: |
|
||||
echo '<?php' > settings/local.php
|
||||
echo " @define('CONST_Pyosmium_Binary', '/usr/lib/python3-pyosmium/pyosmium-get-changes');" >> settings/local.php
|
||||
working-directory: build
|
||||
|
||||
- name: Import
|
||||
run: php ./utils/setup.php --osm-file ../monaco-latest.osm.pbf --osm2pgsql-cache 500 --all
|
||||
working-directory: build
|
||||
|
||||
- name: Import special phrases
|
||||
run: php ./utils/specialphrases.php --wiki-import | psql -d nominatim
|
||||
working-directory: build
|
||||
|
||||
- name: Check import
|
||||
run: php ./utils/check_import_finished.php
|
||||
working-directory: build
|
||||
|
||||
- name: Run update
|
||||
run: |
|
||||
php ./utils/update.php --init-updates
|
||||
php ./utils/update.php --import-osmosis
|
||||
working-directory: build
|
40
.travis.yml
40
.travis.yml
@ -1,40 +0,0 @@
|
||||
---
|
||||
os: linux
|
||||
dist: focal
|
||||
addons:
|
||||
postgresql: "12"
|
||||
apt:
|
||||
packages:
|
||||
- postgresql-server-dev-12
|
||||
- postgresql-12-postgis-3
|
||||
git:
|
||||
depth: 3
|
||||
env:
|
||||
- TEST_SUITE=tests
|
||||
- TEST_SUITE=monaco
|
||||
before_install:
|
||||
- phpenv global 7.4
|
||||
install:
|
||||
- vagrant/Install-on-Travis-CI.sh
|
||||
before_script:
|
||||
- psql -U postgres -c "create extension postgis"
|
||||
script:
|
||||
- cd $TRAVIS_BUILD_DIR/
|
||||
- if [[ $TEST_SUITE == "tests" ]]; then phpcs --report-width=120 . ; fi
|
||||
- cd $TRAVIS_BUILD_DIR/test/php
|
||||
- if [[ $TEST_SUITE == "tests" ]]; then /usr/bin/phpunit ./ ; fi
|
||||
- cd $TRAVIS_BUILD_DIR/build
|
||||
- /usr/bin/env php ./utils/setup.php --setup-website
|
||||
- cd $TRAVIS_BUILD_DIR/test/bdd
|
||||
- # behave --format=progress3 api
|
||||
- if [[ $TEST_SUITE == "tests" ]]; then behave -DREMOVE_TEMPLATE=1 --format=progress3 db ; fi
|
||||
- if [[ $TEST_SUITE == "tests" ]]; then behave --format=progress3 osm2pgsql ; fi
|
||||
- cd $TRAVIS_BUILD_DIR/build
|
||||
- if [[ $TEST_SUITE == "monaco" ]]; then wget --no-verbose --output-document=../data/monaco.osm.pbf http://download.geofabrik.de/europe/monaco-latest.osm.pbf; fi
|
||||
- if [[ $TEST_SUITE == "monaco" ]]; then /usr/bin/env php ./utils/setup.php --osm-file ../data/monaco.osm.pbf --osm2pgsql-cache 1000 --all 2>&1 | grep -v 'ETA (seconds)'; fi
|
||||
- if [[ $TEST_SUITE == "monaco" ]]; then /usr/bin/env php ./utils/specialphrases.php --wiki-import | psql -d test_api_nominatim >/dev/null; fi
|
||||
- if [[ $TEST_SUITE == "monaco" ]]; then /usr/bin/env php ./utils/check_import_finished.php; fi
|
||||
- if [[ $TEST_SUITE == "monaco" ]]; then /usr/bin/env php ./utils/update.php --init-updates; fi
|
||||
- if [[ $TEST_SUITE == "monaco" ]]; then /usr/bin/env php ./utils/update.php --import-osmosis; fi
|
||||
notifications:
|
||||
email: false
|
@ -1,56 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script runs in a travis-ci.org virtual machine
|
||||
# https://docs.travis-ci.com/user/reference/focal/
|
||||
# Ubuntu 20 (focal)
|
||||
# user 'travis'
|
||||
# $TRAVIS_BUILD_DIR is /home/travis/build/openstreetmap/Nominatim/, for others see
|
||||
# https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables
|
||||
# Postgres 12 installed and started. role 'travis' already superuser
|
||||
# Python 3.8
|
||||
# Travis has a 4 MB, 10000 line output limit, so where possible we run script --quiet
|
||||
|
||||
|
||||
sudo apt-get update -qq
|
||||
|
||||
sudo apt-get install -y -qq build-essential cmake g++ libboost-dev libboost-system-dev \
|
||||
libboost-filesystem-dev libexpat1-dev zlib1g-dev \
|
||||
libbz2-dev libpq-dev libproj-dev \
|
||||
postgresql-server-dev-12 postgresql-12-postgis-3 \
|
||||
postgresql-contrib postgresql-12-postgis-3-scripts \
|
||||
php php-pgsql \
|
||||
php-intl python3-setuptools python3-dev python3-pip \
|
||||
python3-psycopg2 python3-tidylib git
|
||||
|
||||
sudo apt-get install -y -qq php-cgi
|
||||
|
||||
pip3 install --quiet behave nose osmium
|
||||
|
||||
# https://github.com/squizlabs/PHP_CodeSniffer
|
||||
composer global require "squizlabs/php_codesniffer=*"
|
||||
sudo ln -s /home/travis/.config/composer/vendor/bin/phpcs /usr/bin/
|
||||
|
||||
composer global require "phpunit/phpunit=7.*"
|
||||
sudo ln -s /home/travis/.config/composer/vendor/bin/phpunit /usr/bin/
|
||||
|
||||
sudo -u postgres createuser -S www-data
|
||||
|
||||
# Make sure that system servers can read from the home directory:
|
||||
chmod a+x $HOME
|
||||
chmod a+x $TRAVIS_BUILD_DIR
|
||||
|
||||
wget -O $TRAVIS_BUILD_DIR/data/country_osm_grid.sql.gz https://www.nominatim.org/data/country_grid.sql.gz
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake $TRAVIS_BUILD_DIR
|
||||
make
|
||||
|
||||
|
||||
tee settings/local.php << EOF
|
||||
<?php
|
||||
@define('CONST_Database_DSN', 'pgsql:dbname=test_api_nominatim');
|
||||
@define('CONST_Wikipedia_Data_Path', CONST_BasePath.'/test/testdb');
|
||||
@define('CONST_Replication_Max_Diff_size', '3');
|
||||
EOF
|
||||
|
Loading…
Reference in New Issue
Block a user