From 18cb0fe0b878fd86576f57d1842f857ed57e2d2a Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 18 Oct 2016 11:18:42 +0300 Subject: [PATCH 1/6] Add travis.yml so pull requests are automatically tested via Travis --- .travis.yml | 43 ++++++++++++++++++++++++++++++++++++++++ .travis/make_postgres.sh | 9 +++++++++ .travis/pgjdbc_check.sh | 8 ++++++++ README.md | 29 +++++++++++++++++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 .travis.yml create mode 100755 .travis/make_postgres.sh create mode 100755 .travis/pgjdbc_check.sh create mode 100644 README.md diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000000..cd73234fc1485 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,43 @@ +sudo: false +language: java + +before_script: + - ./.travis/make_postgres.sh + - psql -U postgres -c "create user test with password 'test';" + - psql -c 'create database test owner test;' -U postgres + - echo "MAVEN_OPTS='-Xmx1g -Dgpg.skip=true'" > ~/.mavenrc + - psql test -c 'CREATE EXTENSION hstore;' -U postgres + +script: + # make sure previous build artifacts are not used for subsequent builds + - ./.travis/travis_build.sh + +before_cache: + # No sense in caching current build artifacts + rm -rf $HOME/.m2/repository/org/postgresql + +# Skip default "mvn install" issued by Travis +# Root project cannot be compiled with older JDKs, so it makes sense to just skip the step +install: true + +cache: + directories: + - '$HOME/.m2/repository' + +matrix: + fast_finish: true + include: + - env: + - TEST=PG_CHECK + script: make check + - env: + - TEST=PG_CHECK_WORLD + script: PGHOST=localhost make check-world + - jdk: oraclejdk8 + env: + - TEST=pgjdbc + script: ./.travis/pgjdbc_check.sh + +branches: + only: + - travis diff --git a/.travis/make_postgres.sh b/.travis/make_postgres.sh new file mode 100755 index 0000000000000..94117362752d5 --- /dev/null +++ b/.travis/make_postgres.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -x -e + +PREFIX=$HOME/pg_head + +./configure --prefix=$PREFIX + +# Build PostgreSQL from source and start the DB +make && make install && $PREFIX/bin/pg_ctl -D $PREFIX/data initdb && $PREFIX/bin/pg_ctl -D $PREFIX/data -l postgres.log start diff --git a/.travis/pgjdbc_check.sh b/.travis/pgjdbc_check.sh new file mode 100755 index 0000000000000..1633a894512aa --- /dev/null +++ b/.travis/pgjdbc_check.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -x -e + +git clone --depth=1 https://github.com/pgjdbc/pgjdbc.git + +cd pgjdbc + +mvn clean package -B -V diff --git a/README.md b/README.md new file mode 100644 index 0000000000000..5d06c174fb69e --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +[![Build Status](https://travis-ci.org/vlsi/postgres.svg?branch=travis)](https://travis-ci.org/vlsi/postgres) + +PostgreSQL Database Management System +===================================== + +This directory contains the source code distribution of the PostgreSQL +database management system. + +PostgreSQL is an advanced object-relational database management system +that supports an extended subset of the SQL standard, including +transactions, foreign keys, subqueries, triggers, user-defined types +and functions. This distribution also contains C language bindings. + +PostgreSQL has many language interfaces, many of which are listed here: + + http://www.postgresql.org/download + +See the file INSTALL for instructions on how to build and install +PostgreSQL. That file also lists supported operating systems and +hardware platforms and contains information regarding any other +software packages that are required to build or run the PostgreSQL +system. Copyright and license information can be found in the +file COPYRIGHT. A comprehensive documentation set is included in this +distribution; it can be read as described in the installation +instructions. + +The latest version of this software may be obtained at +http://www.postgresql.org/download/. For more information look at our +web site located at http://www.postgresql.org/. From 470b15f56185bbc870626beff62e6e570eb36bf2 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 18 Oct 2016 11:36:41 +0300 Subject: [PATCH 2/6] Try "trusty in VM" --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cd73234fc1485..5a6ce5ffde807 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,6 @@ -sudo: false +sudo: required language: java +dist: trusty before_script: - ./.travis/make_postgres.sh From dc860b41629c1f5e505934bfeeea39d2c2e1c58c Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 18 Oct 2016 11:51:20 +0300 Subject: [PATCH 3/6] Print versions --- .travis.yml | 2 +- .travis/make_postgres.sh | 2 ++ .travis/pgjdbc_check.sh | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 5a6ce5ffde807..7d2c1ad2a7c5e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ dist: trusty before_script: - ./.travis/make_postgres.sh - - psql -U postgres -c "create user test with password 'test';" + - psql -U postgres -c "create user test with password 'test'; select version();" - psql -c 'create database test owner test;' -U postgres - echo "MAVEN_OPTS='-Xmx1g -Dgpg.skip=true'" > ~/.mavenrc - psql test -c 'CREATE EXTENSION hstore;' -U postgres diff --git a/.travis/make_postgres.sh b/.travis/make_postgres.sh index 94117362752d5..d78f7e46c8761 100755 --- a/.travis/make_postgres.sh +++ b/.travis/make_postgres.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash set -x -e +sudo service postgresql stop + PREFIX=$HOME/pg_head ./configure --prefix=$PREFIX diff --git a/.travis/pgjdbc_check.sh b/.travis/pgjdbc_check.sh index 1633a894512aa..16cd07e14658b 100755 --- a/.travis/pgjdbc_check.sh +++ b/.travis/pgjdbc_check.sh @@ -3,6 +3,8 @@ set -x -e git clone --depth=1 https://github.com/pgjdbc/pgjdbc.git +git log -1 + cd pgjdbc mvn clean package -B -V From 04b199ecc1c07426523b56f50a379ff2506b9d55 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 18 Oct 2016 12:01:27 +0300 Subject: [PATCH 4/6] cat log --- .travis/make_postgres.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis/make_postgres.sh b/.travis/make_postgres.sh index d78f7e46c8761..71783c1f91ae3 100755 --- a/.travis/make_postgres.sh +++ b/.travis/make_postgres.sh @@ -9,3 +9,7 @@ PREFIX=$HOME/pg_head # Build PostgreSQL from source and start the DB make && make install && $PREFIX/bin/pg_ctl -D $PREFIX/data initdb && $PREFIX/bin/pg_ctl -D $PREFIX/data -l postgres.log start + +sleep 10 + +cat postgres.log From 6901da2839240f0a5c814e1cbcea9aee56f12789 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 18 Oct 2016 12:33:48 +0300 Subject: [PATCH 5/6] link socket --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 7d2c1ad2a7c5e..b10fb3646b7af 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ dist: trusty before_script: - ./.travis/make_postgres.sh + - sudo ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432 - psql -U postgres -c "create user test with password 'test'; select version();" - psql -c 'create database test owner test;' -U postgres - echo "MAVEN_OPTS='-Xmx1g -Dgpg.skip=true'" > ~/.mavenrc From 8663e30c00ad1d87d1794d654cfdbb2dfe81ad71 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Tue, 18 Oct 2016 14:05:51 +0300 Subject: [PATCH 6/6] services: postgresql --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index b10fb3646b7af..42535879efb45 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,8 @@ sudo: required language: java dist: trusty +services: + - postgresql before_script: - ./.travis/make_postgres.sh