---
services: docker

env:
  - distro: centos7
    postgresql_bin_dir: /usr/bin
    postgresql_data_dir: /var/lib/pgsql/data
  - distro: centos6
    postgresql_bin_dir: /usr/bin
    postgresql_data_dir: /var/lib/pgsql/data
  - distro: ubuntu1604
    postgresql_bin_dir: /usr/lib/postgresql/9.5/bin
    postgresql_data_dir: /var/lib/postgresql/9.5/main
  - distro: ubuntu1404
    postgresql_bin_dir: /usr/lib/postgresql/9.3/bin
    postgresql_data_dir: /var/lib/postgresql/9.3/main
  - distro: debian8
    postgresql_bin_dir: /usr/lib/postgresql/9.4/bin
    postgresql_data_dir: /var/lib/postgresql/9.4/main
  - distro: debian9
    postgresql_bin_dir: /usr/lib/postgresql/9.6/bin
    postgresql_data_dir: /var/lib/postgresql/9.6/main

script:
  # Configure test script so we can run extra tests after playbook is run.
  - export container_id=$(date +%s)
  - export cleanup=false

  # Download test shim.
  - wget -O ${PWD}/tests/test.sh https://gist.githubusercontent.com/geerlingguy/73ef1e5ee45d8694570f334be385e181/raw/
  - chmod +x ${PWD}/tests/test.sh

  # Run tests.
  - ${PWD}/tests/test.sh

  # Check PostgreSQL status.
  - 'docker exec -u postgres ${container_id} ${postgresql_bin_dir}/pg_ctl -D ${postgresql_data_dir} status'

after_failure:
  # Check what happened on systemd systems.
  - 'docker exec --tty ${container_id} env TERM=xterm systemctl -l status postgresql.service'
  - 'docker exec --tty ${container_id} env TERM=xterm journalctl -xe --no-pager'

notifications:
  webhooks: https://galaxy.ansible.com/api/v1/notifications/