From 966dd4268a05b854394d4350310e3e586eb0f59c Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 8 Aug 2016 15:24:21 +0200 Subject: [PATCH 01/23] Create role publicuser if it does not exist --- src/pg/test/expected/01_install_test.out | 13 +++++++++++++ src/pg/test/sql/01_install_test.sql | 14 ++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/pg/test/expected/01_install_test.out b/src/pg/test/expected/01_install_test.out index e84a48a..79ff047 100644 --- a/src/pg/test/expected/01_install_test.out +++ b/src/pg/test/expected/01_install_test.out @@ -1,5 +1,18 @@ -- Install dependencies CREATE EXTENSION plpythonu; CREATE EXTENSION postgis; +-- Create role publicuser if it does not exist +DO +$$ +BEGIN + IF NOT EXISTS ( + SELECT * + FROM pg_catalog.pg_user + WHERE usename = 'publicuser') THEN + + CREATE ROLE publicuser LOGIN; + END IF; +END +$$ LANGUAGE plpgsql; -- Install the extension CREATE EXTENSION crankshaft VERSION 'dev'; diff --git a/src/pg/test/sql/01_install_test.sql b/src/pg/test/sql/01_install_test.sql index bbce805..98d7db4 100644 --- a/src/pg/test/sql/01_install_test.sql +++ b/src/pg/test/sql/01_install_test.sql @@ -2,5 +2,19 @@ CREATE EXTENSION plpythonu; CREATE EXTENSION postgis; +-- Create role publicuser if it does not exist +DO +$$ +BEGIN + IF NOT EXISTS ( + SELECT * + FROM pg_catalog.pg_user + WHERE usename = 'publicuser') THEN + + CREATE ROLE publicuser LOGIN; + END IF; +END +$$ LANGUAGE plpgsql; + -- Install the extension CREATE EXTENSION crankshaft VERSION 'dev'; From c48f9b67b77b4616a4ebb15734ff1ecb0aca66fe Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 8 Aug 2016 16:26:35 +0200 Subject: [PATCH 02/23] First attempt with a .travis.yml file --- .travis.yml | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..b2514fc --- /dev/null +++ b/.travis.yml @@ -0,0 +1,43 @@ +language: python + +before_install: + - sudo apt-get -y install make + + - sudo apt-get -y install python-pip + + - sudo apt-get -y install python-software-properties + - sudo add-apt-repository -y ppa:cartodb/sci + - sudo add-apt-repository -y ppa:cartodb/postgresql-9.5 + - sudo add-apt-repository -y ppa:cartodb/gis + - sudo apt-get update + + - sudo apt-get -y install python-joblib=0.8.3-1-cdb1 + - sudo apt-get -y install python-numpy=1:1.6.1-6ubuntu1 + + # Install pysal + - sudo pip install -I pysal==1.11.2 + + - sudo apt-get -y install python-scipy=0.14.0-2-cdb6 + - sudo apt-get -y --no-install-recommends install python-sklearn-lib=0.14.1-3-cdb2 + - sudo apt-get -y --no-install-recommends install python-sklearn=0.14.1-3-cdb2 + - sudo apt-get -y --no-install-recommends install python-scikits-learn=0.14.1-3-cdb2 + + # Install postgres db and build deps + - sudo apt-get -y install \ + postgresql-9.5 \ + postgresql-server-dev-9.5 \ + postgresql-plpython-9.5 \ + postgresql-9.5-postgis-2.2 \ + postgresql-9.5-postgis-scripts + + # configure it to accept local connections from postgres + - echo -e "# TYPE DATABASE USER ADDRESS METHOD +local all postgres trust +local all all trust +host all all 127.0.0.1/32 trust" \ + | sudo tee /etc/postgresql/9.5/main/pg_hba.conf + - sudo service postgresql reload + +script: + - sudo make install + - make test From 45653a850ede7d997ee423819bfe1bb84172e591 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 8 Aug 2016 16:34:01 +0200 Subject: [PATCH 03/23] Fix travis script by using a single line --- .travis.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index b2514fc..4d5da0a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,11 +31,8 @@ before_install: postgresql-9.5-postgis-scripts # configure it to accept local connections from postgres - - echo -e "# TYPE DATABASE USER ADDRESS METHOD -local all postgres trust -local all all trust -host all all 127.0.0.1/32 trust" \ - | sudo tee /etc/postgresql/9.5/main/pg_hba.conf + - echo -e "# TYPE DATABASE USER ADDRESS METHOD \nlocal all postgres trust\nlocal all all trust\nhost all all 127.0.0.1/32 trust" \ + | sudo tee /etc/postgresql/9.5/main/pg_hba.conf - sudo service postgresql reload script: From f2b5c788c06ab8b2c6dab6d1446b00897011dd26 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 8 Aug 2016 16:48:42 +0200 Subject: [PATCH 04/23] Avoid backslash multiline syntax --- .travis.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4d5da0a..0dc8bde 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,12 +23,11 @@ before_install: - sudo apt-get -y --no-install-recommends install python-scikits-learn=0.14.1-3-cdb2 # Install postgres db and build deps - - sudo apt-get -y install \ - postgresql-9.5 \ - postgresql-server-dev-9.5 \ - postgresql-plpython-9.5 \ - postgresql-9.5-postgis-2.2 \ - postgresql-9.5-postgis-scripts + - sudo apt-get -y install postgresql-9.5 + - sudo apt-get -y install postgresql-server-dev-9.5 + - sudo apt-get -y install postgresql-plpython-9.5 + - sudo apt-get -y install postgresql-9.5-postgis-2.2 + - sudo apt-get -y install postgresql-9.5-postgis-scripts # configure it to accept local connections from postgres - echo -e "# TYPE DATABASE USER ADDRESS METHOD \nlocal all postgres trust\nlocal all all trust\nhost all all 127.0.0.1/32 trust" \ From 1234bfeb9df357314b5f88a516ed12ab7d1fc10a Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 8 Aug 2016 17:11:16 +0200 Subject: [PATCH 05/23] Use c instead of python as language Otherwise it installs a different version of python. We want to test the exact dependencies whenever possible. --- .travis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0dc8bde..61a2d51 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,6 @@ -language: python +language: c before_install: - - sudo apt-get -y install make - - sudo apt-get -y install python-pip - sudo apt-get -y install python-software-properties From 3181c51637570f408aa8fcc09d0a8e01dfeeac8f Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 8 Aug 2016 17:15:41 +0200 Subject: [PATCH 06/23] Install all postgres packages at once Install all postgres packages at once in order to avoid package configuration issues. --- .travis.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 61a2d51..e03478b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,11 +21,7 @@ before_install: - sudo apt-get -y --no-install-recommends install python-scikits-learn=0.14.1-3-cdb2 # Install postgres db and build deps - - sudo apt-get -y install postgresql-9.5 - - sudo apt-get -y install postgresql-server-dev-9.5 - - sudo apt-get -y install postgresql-plpython-9.5 - - sudo apt-get -y install postgresql-9.5-postgis-2.2 - - sudo apt-get -y install postgresql-9.5-postgis-scripts + - sudo apt-get -y install postgresql-9.5 postgresql-server-dev-9.5 postgresql-plpython-9.5 postgresql-9.5-postgis-2.2 postgresql-9.5-postgis-scripts # configure it to accept local connections from postgres - echo -e "# TYPE DATABASE USER ADDRESS METHOD \nlocal all postgres trust\nlocal all all trust\nhost all all 127.0.0.1/32 trust" \ From 57aa28ee5cb1e0a0f250ef2bb0b428e24ed8a659 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 8 Aug 2016 17:53:07 +0200 Subject: [PATCH 07/23] Stop postgresql default instance Stop travis postgres default instance before trying to install postgres 9.5. --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index e03478b..3ec2232 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,7 @@ before_install: - sudo apt-get -y --no-install-recommends install python-scikits-learn=0.14.1-3-cdb2 # Install postgres db and build deps + - sudo /etc/init.d/postgresql stop # stop travis default instance - sudo apt-get -y install postgresql-9.5 postgresql-server-dev-9.5 postgresql-plpython-9.5 postgresql-9.5-postgis-2.2 postgresql-9.5-postgis-scripts # configure it to accept local connections from postgres From d078a878906f07a3189e286513ae2673284f5958 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 8 Aug 2016 18:09:51 +0200 Subject: [PATCH 08/23] Check port and restart pg9.5 --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3ec2232..35df7ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,7 +27,8 @@ before_install: # configure it to accept local connections from postgres - echo -e "# TYPE DATABASE USER ADDRESS METHOD \nlocal all postgres trust\nlocal all all trust\nhost all all 127.0.0.1/32 trust" \ | sudo tee /etc/postgresql/9.5/main/pg_hba.conf - - sudo service postgresql reload + - sudo cat /etc/postgresql/9.5/main/postgresql.conf | grep ^port + - sudo /etc/init.d/postgresql restart 9.5 script: - sudo make install From 60b9f9bd0e29fa2534a57723e1a4bf1a600a9d30 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 8 Aug 2016 18:23:27 +0200 Subject: [PATCH 09/23] Add a couple of lines to diagnose pg port issue --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 35df7ad..2f21906 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,13 +21,14 @@ before_install: - sudo apt-get -y --no-install-recommends install python-scikits-learn=0.14.1-3-cdb2 # Install postgres db and build deps + - dpkg -l | grep postgres # TODO: remove this line - sudo /etc/init.d/postgresql stop # stop travis default instance - sudo apt-get -y install postgresql-9.5 postgresql-server-dev-9.5 postgresql-plpython-9.5 postgresql-9.5-postgis-2.2 postgresql-9.5-postgis-scripts # configure it to accept local connections from postgres - echo -e "# TYPE DATABASE USER ADDRESS METHOD \nlocal all postgres trust\nlocal all all trust\nhost all all 127.0.0.1/32 trust" \ | sudo tee /etc/postgresql/9.5/main/pg_hba.conf - - sudo cat /etc/postgresql/9.5/main/postgresql.conf | grep ^port + - sudo cat /etc/postgresql/9.5/main/postgresql.conf | grep ^port # TODO: remove this line - sudo /etc/init.d/postgresql restart 9.5 script: From 3ef7c9f62eac6b1b15ee1a6b16827f21933ba029 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 8 Aug 2016 18:41:19 +0200 Subject: [PATCH 10/23] Run the tests against the right PG9.5 port --- .travis.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2f21906..e54e2ac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,16 +21,17 @@ before_install: - sudo apt-get -y --no-install-recommends install python-scikits-learn=0.14.1-3-cdb2 # Install postgres db and build deps - - dpkg -l | grep postgres # TODO: remove this line - sudo /etc/init.d/postgresql stop # stop travis default instance - sudo apt-get -y install postgresql-9.5 postgresql-server-dev-9.5 postgresql-plpython-9.5 postgresql-9.5-postgis-2.2 postgresql-9.5-postgis-scripts # configure it to accept local connections from postgres - echo -e "# TYPE DATABASE USER ADDRESS METHOD \nlocal all postgres trust\nlocal all all trust\nhost all all 127.0.0.1/32 trust" \ | sudo tee /etc/postgresql/9.5/main/pg_hba.conf - - sudo cat /etc/postgresql/9.5/main/postgresql.conf | grep ^port # TODO: remove this line - sudo /etc/init.d/postgresql restart 9.5 + # save the postgres port for later usage + - sudo cat /etc/postgresql/9.5/main/postgresql.conf | grep ^port | grep -oh '[0-9]*' > .pg95.port + script: - sudo make install - - make test + - PGPORT=$(cat .pg95.port) make test From 491eeb34d86a0215fb1da8b78b6f86450a2dc096 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 8 Aug 2016 18:52:48 +0200 Subject: [PATCH 11/23] Show the regression.diffs in case of failure --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e54e2ac..d63be49 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,4 +34,4 @@ before_install: script: - sudo make install - - PGPORT=$(cat .pg95.port) make test + - PGPORT=$(cat .pg95.port) make test || { cat src/pg/test/regression.diffs; false; } From 02a20566dca9a624674cff3cdc9f5b7170771f46 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Mon, 8 Aug 2016 19:12:55 +0200 Subject: [PATCH 12/23] Force instalation of libgeos-3.5.0 --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index d63be49..4ffee4e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,6 +20,9 @@ before_install: - sudo apt-get -y --no-install-recommends install python-sklearn=0.14.1-3-cdb2 - sudo apt-get -y --no-install-recommends install python-scikits-learn=0.14.1-3-cdb2 + # Force instalation of libgeos-3.5.0 (presumably needed because of existing version of postgis) + - sudo apt-get -y install libgeos-3.5.0=3.5.0-1cdb2 + # Install postgres db and build deps - sudo /etc/init.d/postgresql stop # stop travis default instance - sudo apt-get -y install postgresql-9.5 postgresql-server-dev-9.5 postgresql-plpython-9.5 postgresql-9.5-postgis-2.2 postgresql-9.5-postgis-scripts From 14b44c358fc70c525f5614ed77f0fcedc8841f07 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 9 Aug 2016 10:36:03 +0200 Subject: [PATCH 13/23] Add postgis version diagnosing traces --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 4ffee4e..8d1056a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,4 +37,6 @@ before_install: script: - sudo make install + - dpkg -l | grep -i postgis + - PGPORT=$(cat .pg95.port) psql -U postgres -c "SELECT PostGIS_Version();" - PGPORT=$(cat .pg95.port) make test || { cat src/pg/test/regression.diffs; false; } From 2362e51c10fb8f3b56618d257c3b0f5b4feb839f Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 9 Aug 2016 10:46:23 +0200 Subject: [PATCH 14/23] Add postgis version diagnosing traces --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8d1056a..2c42bbd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,5 +38,5 @@ before_install: script: - sudo make install - dpkg -l | grep -i postgis - - PGPORT=$(cat .pg95.port) psql -U postgres -c "SELECT PostGIS_Version();" + - PGPORT=$(cat .pg95.port) psql -U postgres -c "SELECT * FROM pg_available_extension_versions WHERE name LIKE 'postgis';" - PGPORT=$(cat .pg95.port) make test || { cat src/pg/test/regression.diffs; false; } From 955f25cdae97245c240eb2e0d4646901bc8de054 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 9 Aug 2016 11:04:33 +0200 Subject: [PATCH 15/23] Force installation of postgis specific version --- src/pg/test/expected/01_install_test.out | 2 +- src/pg/test/sql/01_install_test.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pg/test/expected/01_install_test.out b/src/pg/test/expected/01_install_test.out index 79ff047..c8a763e 100644 --- a/src/pg/test/expected/01_install_test.out +++ b/src/pg/test/expected/01_install_test.out @@ -1,6 +1,6 @@ -- Install dependencies CREATE EXTENSION plpythonu; -CREATE EXTENSION postgis; +CREATE EXTENSION postgis VERSION '2.2.2'; -- Create role publicuser if it does not exist DO $$ diff --git a/src/pg/test/sql/01_install_test.sql b/src/pg/test/sql/01_install_test.sql index 98d7db4..c90ea59 100644 --- a/src/pg/test/sql/01_install_test.sql +++ b/src/pg/test/sql/01_install_test.sql @@ -1,6 +1,6 @@ -- Install dependencies CREATE EXTENSION plpythonu; -CREATE EXTENSION postgis; +CREATE EXTENSION postgis VERSION '2.2.2'; -- Create role publicuser if it does not exist DO From 927d66911eaeebca17a6dcc761352392df6f9e9e Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 9 Aug 2016 11:04:48 +0200 Subject: [PATCH 16/23] Remove traces from travis --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2c42bbd..4ffee4e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,6 +37,4 @@ before_install: script: - sudo make install - - dpkg -l | grep -i postgis - - PGPORT=$(cat .pg95.port) psql -U postgres -c "SELECT * FROM pg_available_extension_versions WHERE name LIKE 'postgis';" - PGPORT=$(cat .pg95.port) make test || { cat src/pg/test/regression.diffs; false; } From a636d284573d90a1ba61201932293be3c8c45243 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 9 Aug 2016 11:36:51 +0200 Subject: [PATCH 17/23] Install specific postgres versions This is meant to solve the issue with postgis and the error message "GEOS 3.4 or higher required" as that error is compiled statically into postgis. That basically means the build was using a wrong postgis binary. --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4ffee4e..52f0f52 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,7 +25,11 @@ before_install: # Install postgres db and build deps - sudo /etc/init.d/postgresql stop # stop travis default instance - - sudo apt-get -y install postgresql-9.5 postgresql-server-dev-9.5 postgresql-plpython-9.5 postgresql-9.5-postgis-2.2 postgresql-9.5-postgis-scripts + - sudo apt-get -y install postgresql-9.5=9.5.2-2ubuntu1 + - sudo apt-get -y install postgresql-server-dev-9.5=9.5.2-2ubuntu1 + - sudo apt-get -y install postgresql-plpython-9.5=9.5.2-2ubuntu1 + - sudo apt-get -y install postgresql-9.5-postgis-2.2=2.2.2.0-cdb2 + - sudo apt-get -y install postgresql-9.5-postgis-scripts=2.2.2.0-cdb2 # configure it to accept local connections from postgres - echo -e "# TYPE DATABASE USER ADDRESS METHOD \nlocal all postgres trust\nlocal all all trust\nhost all all 127.0.0.1/32 trust" \ From 6de5fb10a0e61176e94973459b8a81490cc99408 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 9 Aug 2016 11:50:35 +0200 Subject: [PATCH 18/23] Add gis-testing ppa to the mix Seems like the production postgis 2.2.2 is only present in gis-testing for the moment. --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 52f0f52..831c11b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,7 @@ before_install: - sudo add-apt-repository -y ppa:cartodb/sci - sudo add-apt-repository -y ppa:cartodb/postgresql-9.5 - sudo add-apt-repository -y ppa:cartodb/gis + - sudo add-apt-repository -y ppa:cartodb/gis-testing - sudo apt-get update - sudo apt-get -y install python-joblib=0.8.3-1-cdb1 From c3afdbff4bdfc8a7a72a4aba2b9f207dfea30cf5 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 9 Aug 2016 12:05:49 +0200 Subject: [PATCH 19/23] Remove all the travis pg/postgis stuff --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.travis.yml b/.travis.yml index 831c11b..b9196cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,6 +26,13 @@ before_install: # Install postgres db and build deps - sudo /etc/init.d/postgresql stop # stop travis default instance + - sudo apt-get -y remove --purge postgresql-9.1 + - sudo apt-get -y remove --purge postgresql-9.2 + - sudo apt-get -y remove --purge postgresql-9.3 + - sudo apt-get -y remove --purge postgresql-9.4 + - sudo apt-get -y remove --purge postgis + - sudo apt-get -y autoremove + - sudo apt-get -y install postgresql-9.5=9.5.2-2ubuntu1 - sudo apt-get -y install postgresql-server-dev-9.5=9.5.2-2ubuntu1 - sudo apt-get -y install postgresql-plpython-9.5=9.5.2-2ubuntu1 From 33aff6a744f848135241f2d05a6d8da623e31fe6 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 9 Aug 2016 13:19:41 +0200 Subject: [PATCH 20/23] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0ff9090..ee72c18 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# crankshaft +# crankshaft [![Build Status](https://travis-ci.org/CartoDB/crankshaft.svg?branch=develop)](https://travis-ci.org/CartoDB/crankshaft) CartoDB Spatial Analysis extension for PostgreSQL. From 58ef79fb6a9d3fc055cb43d03630e0a3101d9aa6 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 9 Aug 2016 15:42:01 +0200 Subject: [PATCH 21/23] Script to check whether a branch is up to date --- .travis.yml | 1 + check-up-to-date-with-master.sh | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100755 check-up-to-date-with-master.sh diff --git a/.travis.yml b/.travis.yml index b9196cb..d3eb863 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ language: c before_install: + - ./check-up-to-date-with-master.sh - sudo apt-get -y install python-pip - sudo apt-get -y install python-software-properties diff --git a/check-up-to-date-with-master.sh b/check-up-to-date-with-master.sh new file mode 100755 index 0000000..af4b8b4 --- /dev/null +++ b/check-up-to-date-with-master.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# Add remote-master +git remote add -t master remote-master https://github.com/CartoDB/crankshaft.git + +# Fetch master reference +git fetch --depth=1 remote-master master + +# Compare HEAD with master +# NOTE: travis by default uses --depth=50 so we are actually checking that the tip +# of the branch is no more than 50 commits away from master as well. +git rev-list HEAD | grep $(git rev-parse remote-master/master) || + { echo "Your branch is not up to date with latest release"; + echo "Please update it by running the following:"; + echo " git fetch && git merge origin/develop"; + false; } From 84d3238d593f85567fa9f11e180fe69243877fa1 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 9 Aug 2016 15:44:36 +0200 Subject: [PATCH 22/23] Split installation into its own phase --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d3eb863..9409590 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,6 +48,8 @@ before_install: # save the postgres port for later usage - sudo cat /etc/postgresql/9.5/main/postgresql.conf | grep ^port | grep -oh '[0-9]*' > .pg95.port -script: +install: - sudo make install + +script: - PGPORT=$(cat .pg95.port) make test || { cat src/pg/test/regression.diffs; false; } From a148fc7d899201a37d67eac31983a65371c3ad7e Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 9 Aug 2016 15:45:45 +0200 Subject: [PATCH 23/23] Remove PGPORT hack It is no longer needed as pg9.5 is installed in its standard port. --- .travis.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9409590..cfd9c52 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,11 +45,8 @@ before_install: | sudo tee /etc/postgresql/9.5/main/pg_hba.conf - sudo /etc/init.d/postgresql restart 9.5 - # save the postgres port for later usage - - sudo cat /etc/postgresql/9.5/main/postgresql.conf | grep ^port | grep -oh '[0-9]*' > .pg95.port - install: - sudo make install script: - - PGPORT=$(cat .pg95.port) make test || { cat src/pg/test/regression.diffs; false; } + - make test || { cat src/pg/test/regression.diffs; false; }