Skip to content

add pg_auto_failover extension #397

add pg_auto_failover extension

add pg_auto_failover extension #397

Workflow file for this run

name: Smoke Test Docker Image
on:
pull_request:
push:
branches:
- master
env:
ORG: timescaledev
TS_VERSION: main
PLATFORM: linux/amd64
jobs:
smoketest:
name: PG${{ matrix.pg }}-${{ matrix.type }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
pg: [15]
type: ['normal', 'bitnami']
steps:
- name: Check out the source
uses: actions/checkout@v3
- name: Build Docker Image for TimescaleDB
run: |
if [ ${{ matrix.type }} == bitnami ]
then
cd bitnami
fi
make image PG_VER=pg${{ matrix.pg }} TAG_VERSION=smoketest-image BETA=1
- name: Install psql
run: sudo apt install postgresql-client
- name: Run the smoke test
run: |
set -eu
export PGHOST=localhost
export PGUSER=postgres
export PGPASSWORD=test1234
docker container stop smoketest-container || true
docker container rm smoketest-container || true
docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=${PGPASSWORD} --name smoketest-container smoketest-image
for _ in {1..120}
do
if [ -z "$(docker container ls -q --filter name=smoketest-container)" ]
then
echo "Smoketest container is not running"
exit 1
fi
if psql -c "select 1"
then
echo "Test pg_cron Extension"
psql -c "CREATE EXTENSION pg_cron";
psql -c "SELECT cron.schedule('30 3 * * 6',\$\$DELETE FROM events WHERE event_time < now() - interval '1 week'\$\$)";
echo "Test PostGIS Extension"
psql -c "CREATE EXTENSION postgis;" || true
psql -c "SELECT PostGIS_Version();"
echo "Test PostGIS Geometry Function"
psql -c "CREATE TABLE test_geometry_table (id serial primary key, geom geometry(Point, 4326));"
psql -c "INSERT INTO test_geometry_table (geom) VALUES (ST_GeomFromText('POINT(0 0)', 4326));"
psql -c "SELECT * FROM test_geometry_table;"
echo "Test Citus Extension"
psql -c "CREATE EXTENSION citus;"
psql -c "SELECT * FROM citus_version();"
echo "Test Citus Distributed Table"
psql -c "CREATE TABLE test_distributed_table (id serial primary key, data text);"
psql -c "SELECT create_distributed_table('test_distributed_table', 'id');"
psql -c "INSERT INTO test_distributed_table (data) VALUES ('test data');"
psql -c "SELECT * FROM test_distributed_table;"
echo "Test pg_repack Extension"
psql -c "CREATE EXTENSION pg_repack;"
psql -c "select repack.version(), repack.version_sql();"
echo "Test pgautofailover Extension"
psql -c "CREATE EXTENSION pgautofailover CASCADE;"
psql -c "SELECT pgautofailover.formation_settings();"
break
fi
sleep 1
done
if ! psql -c "select 1"
then
echo "Cannot connect to PostgreSQL"
exit 1
fi
- name: Show the logs
if: always()
run: |
docker logs smoketest-container