51 lines
2.0 KiB
YAML
51 lines
2.0 KiB
YAML
language: python
|
|
|
|
addons:
|
|
apt:
|
|
update: true
|
|
packages: postgresql-common
|
|
sources:
|
|
- sourceline: deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
|
|
|
|
jobs:
|
|
include:
|
|
- python: "2.7"
|
|
env: POSTGRES=9.4
|
|
- python: "2.7"
|
|
env: POSTGRES=9.5
|
|
- python: "2.7"
|
|
env: POSTGRES=9.6
|
|
- python: "3.6"
|
|
env: POSTGRES=10
|
|
- python: "3.7"
|
|
env: POSTGRES=11
|
|
- python: "3.8"
|
|
env: POSTGRES=12
|
|
|
|
# Ensure the desired version of Postgres is installed and running
|
|
# Most of this is normally handled by Travis automatically, but only for certain versions of Postgres
|
|
# https://github.com/travis-ci/travis-build/blob/master/lib/travis/build/bash/travis_setup_postgresql.bash
|
|
before_install:
|
|
- sudo systemctl stop postgresql
|
|
- sudo -E apt-get -yq --no-install-suggests --no-install-recommends $(travis_apt_get_options) install postgresql-$POSTGRES postgresql-plperl-$POSTGRES postgresql-plpython3-$POSTGRES
|
|
# the port may have been auto-configured to use 5433 if it thought 5422 was already in use
|
|
- sudo sed -i -e 's/5433/5432/' /etc/postgresql/*/main/postgresql.conf
|
|
# postgresql-11+ default to "peer"
|
|
- sudo sed -i -E -e 's/^local\s+all\s+postgres\s+peer/local all postgres trust/' /etc/postgresql/*/main/pg_hba.conf
|
|
- sudo mkdir -p /var/ramfs/postgresql
|
|
- if [ ! -d /var/ramfs/postgresql/$POSTGRES ]; then sudo cp -rp /var/lib/postgresql/$POSTGRES /var/ramfs/postgresql/$POSTGRES; fi
|
|
- sudo systemctl start postgresql@$POSTGRES-main
|
|
- (cd /; sudo -u postgres createuser -e -s travis || echo failed createuser)
|
|
- (cd /; sudo -u postgres createdb -e -O travis travis || echo failed created)
|
|
|
|
# Ensure Postgres is configured as described in docs/testing.rst
|
|
before_script:
|
|
- sudo locale-gen --no-archive fr_FR.UTF-8
|
|
- sudo mkdir -p /extra/pg/ts1 /extra/pg/ts2
|
|
- sudo chown postgres:postgres /extra/pg/ts1 /extra/pg/ts2
|
|
- psql -Upostgres -c "CREATE TABLESPACE ts1 LOCATION '/extra/pg/ts1'"
|
|
- psql -Upostgres -c "CREATE TABLESPACE ts2 LOCATION '/extra/pg/ts2'"
|
|
|
|
script:
|
|
- python setup.py test
|