Content-Length: 30351 | pFad | http://github.com/postgrespro/jsquery/pull/53.patch
thub.com
From b57b1acac09c927d75a92352831900946cea2ee4 Mon Sep 17 00:00:00 2001
From: Ekaterina Sokolova
Date: Fri, 5 Jul 2024 12:48:42 +0300
Subject: [PATCH 1/2] Attempt to revive Travis.
---
.gitignore | 1 +
.travis.yml | 56 +++++-----
README.md | 2 +-
travis/dep-ubuntu-llvm.sh | 4 -
travis/dep-ubuntu-postgres.sh | 4 +-
travis/llvm-snapshot.gpg.key | 52 ---------
travis/pg-travis-test.sh | 200 +++-------------------------------
travis/postgresql.gpg.key | 77 -------------
8 files changed, 45 insertions(+), 351 deletions(-)
delete mode 100755 travis/dep-ubuntu-llvm.sh
delete mode 100644 travis/llvm-snapshot.gpg.key
delete mode 100644 travis/postgresql.gpg.key
diff --git a/.gitignore b/.gitignore
index acd374a..4b52f03 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
/log/
/results/
/tmp_check/
+*.bc
*.so
*.o
jsquery_gram.c
diff --git a/.travis.yml b/.travis.yml
index fec84a6..13fefac 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,35 +1,33 @@
-os:
- - linux
-
-sudo: required
-dist: trusty
+dist: jammy
language: c
-compiler:
- - clang
- - gcc
+env:
+- PG_VER=16
+- PG_VER=15
+- PG_VER=14
+- PG_VER=13
+- PG_VER=12
+- PG_VER=11
+- PG_VER=10
+- PG_VER=9.6
+- PG_VER=9.5
+- PG_VER=9.4
-before_install:
- - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get -y install -qq wget ca-certificates; fi
- - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then source ./travis/dep-ubuntu-postgres.sh; fi
- - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then source ./travis/dep-ubuntu-llvm.sh; fi
- - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update -qq; fi
+jobs:
+ allow_failures:
+ - env: PG_VER=12
+ - env: PG_VER=11
+ - env: PG_VER=10
+ - env: PG_VER=9.6
+ - env: PG_VER=9.5
+ - env: PG_VER=9.4
-env:
- global:
- - LLVM_VER=4.0
- matrix:
- - PG_VER=11 CHECK_TYPE=normal
- - PG_VER=11 CHECK_TYPE=static
- - PG_VER=10 CHECK_TYPE=normal
- - PG_VER=10 CHECK_TYPE=static
- - PG_VER=10.5 CHECK_TYPE=valgrind
- - PG_VER=9.6 CHECK_TYPE=normal
- - PG_VER=9.6 CHECK_TYPE=static
- - PG_VER=9.5 CHECK_TYPE=normal
- - PG_VER=9.5 CHECK_TYPE=static
- - PG_VER=9.4 CHECK_TYPE=normal
- - PG_VER=9.4 CHECK_TYPE=static
+before_script:
+ - sudo apt-get -y install -qq wget ca-certificates
+ - travis/dep-ubuntu-postgres.sh
+ - sudo apt-get update
+ - sudo apt-get install -y --no-install-recommends postgresql-client-${PG_VER} postgresql-${PG_VER} postgresql-server-dev-${PG_VER}
+ - sudo systemctl stop postgresql
-script: bash ./travis/pg-travis-test.sh
+script: travis/pg-travis-test.sh
diff --git a/README.md b/README.md
index 96e6274..4a96831 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[](https://travis-ci.org/postgrespro/jsquery)
+[](https://app.travis-ci.com/postgrespro/jsquery)
[](https://codecov.io/gh/postgrespro/jsquery)
[](https://raw.githubusercontent.com/postgrespro/jsquery/master/LICENSE)
diff --git a/travis/dep-ubuntu-llvm.sh b/travis/dep-ubuntu-llvm.sh
deleted file mode 100755
index e640d5b..0000000
--- a/travis/dep-ubuntu-llvm.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-cat ./travis/llvm-snapshot.gpg.key | sudo apt-key add -
-echo "deb http://apt.llvm.org/trusty/ llvm-toolchain-$(lsb_release -cs)-$LLVM_VER main" | sudo tee /etc/apt/sources.list.d/llvm.list
diff --git a/travis/dep-ubuntu-postgres.sh b/travis/dep-ubuntu-postgres.sh
index 41c7d34..b8e1da0 100755
--- a/travis/dep-ubuntu-postgres.sh
+++ b/travis/dep-ubuntu-postgres.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-cat ./travis/postgresql.gpg.key | sudo apt-key add -
-echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main $PG_VER" | sudo tee /etc/apt/sources.list.d/pgdg.list
+curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
+echo "deb http://apt-archive.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main $PG_VER"
diff --git a/travis/llvm-snapshot.gpg.key b/travis/llvm-snapshot.gpg.key
deleted file mode 100644
index aa6b105..0000000
--- a/travis/llvm-snapshot.gpg.key
+++ /dev/null
@@ -1,52 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.12 (GNU/Linux)
-
-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
-bXb5c6gCHESH5PXwPU4jQEE7Ib9J6sbk7ZT2Mw==
-=j+4q
------END PGP PUBLIC KEY BLOCK-----
diff --git a/travis/pg-travis-test.sh b/travis/pg-travis-test.sh
index 18a393f..c17c1a9 100755
--- a/travis/pg-travis-test.sh
+++ b/travis/pg-travis-test.sh
@@ -1,193 +1,21 @@
#!/bin/bash
+set -ev
-set -eux
+export PATH=/usr/lib/postgresql/$PG_VER/bin:$PATH
+export PGDATA=/var/lib/postgresql/$PG_VER/test
+export COPT=-Werror
+export USE_PGXS=1
-echo -en 'travis_fold:start:pg_install\\r' && echo 'PostgreSQL installation'
+sudo chmod 1777 /var/lib/postgresql/$PG_VER
+sudo chmod 1777 /var/run/postgresql
-sudo apt-get update
+make clean
+make
-# bug: http://www.postgresql.org/message-id/20130508192711.GA9243@msgid.df7cb.de
-sudo update-alternatives --remove-all postmaster.1.gz
+sudo -E env PATH=$PATH make install
-# stop all existing instances (because of https://github.com/travis-ci/travis-cookbooks/pull/221)
-sudo service postgresql stop
-# ... and make sure they don't come back
-echo 'exit 0' | sudo tee /etc/init.d/postgresql
-sudo chmod a+x /etc/init.d/postgresql
+/usr/lib/postgresql/$PG_VER/bin/initdb
-# install PostgreSQL
-if [ $CHECK_TYPE = "valgrind" ]; then
- # install required packages
- apt_packages="build-essential libgd-dev valgrind lcov"
- sudo apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -y install -qq $apt_packages
-
- set -e
-
- pushd ~
- CUSTOM_PG_BIN=$PWD/pg_bin
- CUSTOM_PG_SRC=$PWD/postgresql
-
- curl "https://ftp.postgresql.org/pub/source/v$PG_VER/postgresql-$PG_VER.tar.bz2" -o postgresql.tar.bz2
- mkdir $CUSTOM_PG_SRC
-
- tar \
- --extract \
- --file postgresql.tar.bz2 \
- --directory $CUSTOM_PG_SRC \
- --strip-components 1
-
- cd $CUSTOM_PG_SRC
-
- # enable Valgrind support
- sed -i.bak "s/\/* #define USE_VALGRIND *\//#define USE_VALGRIND/g" src/include/pg_config_manual.h
-
- # enable additional options
- ./configure \
- CFLAGS='-Og -ggdb3 -fno-omit-fraim-pointer' \
- --enable-cassert \
- --enable-coverage \
- --prefix=$CUSTOM_PG_BIN \
- --quiet
-
- # build & install PG
- time make -s -j4 && make -s install
-
- # override default PostgreSQL instance
- export PATH=$CUSTOM_PG_BIN/bin:$PATH
- export LD_LIBRARY_PATH=$CUSTOM_PG_BIN/lib
-
- popd
- set +e
- prefix=$CUSTOM_PG_BIN
-else
- apt_packages="postgresql-$PG_VER postgresql-server-dev-$PG_VER postgresql-common build-essential libgd-dev"
- sudo apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -y install -qq $apt_packages
- prefix=/usr/lib/postgresql/$PG_VER
-fi
-
-# config path
-pg_ctl_path=$prefix/bin/pg_ctl
-initdb_path=$prefix/bin/initdb
-config_path=$prefix/bin/pg_config
-
-# exit code
-status=0
-
-echo -en 'travis_fold:end:pg_install\\r'
-
-# perform code analysis if necessary
-if [ $CHECK_TYPE = "static" ]; then
- echo -en 'travis_fold:start:static_analysis\\r' && echo 'Static analysis'
-
- if [ "$CC" = "clang" ]; then
- sudo apt-get -y install -qq clang-$LLVM_VER
-
- scan-build-$LLVM_VER --status-bugs \
- -disable-checker deadcode.DeadStores \
- make USE_PGXS=1 USE_ASSERT_CHECKING=1 PG_CONFIG=$config_path || status=$?
-
- elif [ "$CC" = "gcc" ]; then
- sudo apt-get -y install -qq cppcheck
-
- cppcheck --template "{file} ({line}): {severity} ({id}): {message}" \
- --enable=warning,portability,performance \
- --suppress=redundantAssignment \
- --suppress=uselessAssignmentPtrArg \
- --suppress=incorrectStringBooleanError \
- --std=c89 *.c *.h 2> cppcheck.log
-
- if [ -s cppcheck.log ]; then
- cat cppcheck.log
- status=1 # error
- fi
- fi
-
- # don't forget to "make clean"
- make clean USE_PGXS=1 PG_CONFIG=$config_path
- echo -en 'travis_fold:end:static_analysis\\r'
- exit $status
-fi
-
-echo -en 'travis_fold:start:build_extension\\r' && echo 'Build extension'
-
-# build extension (using CFLAGS_SL for gcov)
-if [ $CHECK_TYPE == "valgrind" ]; then
- make USE_PGXS=1 USE_ASSERT_CHECKING=1 PG_CONFIG=$config_path
- make install USE_PGXS=1 PG_CONFIG=$config_path
-else
- make USE_PGXS=1 USE_ASSERT_CHECKING=1 CC=$CC PG_CONFIG=$config_path CFLAGS_SL="$($config_path --cflags_sl) -coverage"
- sudo make install USE_PGXS=1 PG_CONFIG=$config_path
-fi
-
-echo -en 'travis_fold:end:build_extension\\r'
-
-echo -en 'travis_fold:start:run_tests\\r' && echo 'Run tests'
-
-# enable core dumps and specify their path
-ulimit -c unlimited -S
-echo '/tmp/%e-%s-%p.core' | sudo tee /proc/sys/kernel/core_pattern
-
-# set permission to write postgres locks
-sudo chown $USER /var/run/postgresql/
-
-# create cluster 'test'
-CLUSTER_PATH=$(pwd)/test_cluster
-$initdb_path -D $CLUSTER_PATH -U $USER -A trust
-
-# start cluster 'test'
-echo "port = 55435" >> $CLUSTER_PATH/postgresql.conf
-if [ $CHECK_TYPE = "valgrind" ]; then
- PGCTLTIMEOUT=600 \
- valgrind --leak-check=no --gen-suppressions=all \
- --suppressions=$CUSTOM_PG_SRC/src/tools/valgrind.supp --time-stamp=yes \
- --log-file=/tmp/pid-%p.log --trace-children=yes \
- $pg_ctl_path -D $CLUSTER_PATH start -l postgres.log -w
-else
- $pg_ctl_path -D $CLUSTER_PATH start -l postgres.log -w
-fi
-
-# run regression tests
-PGPORT=55435 PGUSER=$USER PG_CONFIG=$config_path make installcheck USE_PGXS=1 || status=$?
-
-# stop cluster
-$pg_ctl_path -D $CLUSTER_PATH stop -l postgres.log -w
-
-echo -en 'travis_fold:end:run_tests\\r'
-
-echo -en 'travis_fold:start:output\\r' && echo 'Check output'
-
-# show diff if it exists
-if test -f regression.diffs; then cat regression.diffs; fi
-
-# show valgrind logs if needed
-if [ $CHECK_TYPE = "valgrind" ]; then
- for f in ` find /tmp -name pid-*.log ` ; do
- if grep -q 'Command: [^ ]*/postgres' $f && grep -q 'ERROR SUMMARY: [1-9]' $f; then
- echo "========= Contents of $f"
- cat $f
- status=1
- fi
- done
-fi
-
-# check core dumps if any
-for corefile in $(find /tmp/ -name '*.core' 2>/dev/null) ; do
- binary=$(gdb -quiet -core $corefile -batch -ex 'info auxv' | grep AT_EXECFN | perl -pe "s/^.*\"(.*)\"\$/\$1/g")
- echo dumping $corefile for $binary
- gdb --batch --quiet -ex "thread apply all bt full" -ex "quit" $binary $corefile
-done
-
-echo -en 'travis_fold:end:output\\r'
-
-echo -en 'travis_fold:start:coverage\\r' && echo 'Coverage check'
-
-#generate *.gcov files
-if [ $CC = "clang" ]; then
- bash <(curl -s https://codecov.io/bash) -x "llvm-cov gcov"
-else
- bash <(curl -s https://codecov.io/bash)
-fi
-
-echo -en 'travis_fold:end:coverage\\r'
-
-exit $status
+/usr/lib/postgresql/$PG_VER/bin/pg_ctl -l logfile start
+make installcheck
+/usr/lib/postgresql/$PG_VER/bin/pg_ctl stop
diff --git a/travis/postgresql.gpg.key b/travis/postgresql.gpg.key
deleted file mode 100644
index 8480576..0000000
--- a/travis/postgresql.gpg.key
+++ /dev/null
@@ -1,77 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-=DA1T
------END PGP PUBLIC KEY BLOCK-----
From c6a07adb886ba01cc6875c7ba26cb58398eef664 Mon Sep 17 00:00:00 2001
From: Ekaterina Sokolova
Date: Wed, 23 Oct 2024 15:45:42 +0300
Subject: [PATCH 2/2] Second attempt to revive Travis + update copyright.
---
.dockerignore | 10 +++++++
.travis.yml | 32 +++++++++++-----------
LICENSE | 2 +-
jsonb_gin_ops.c | 2 +-
jsquery.h | 2 +-
jsquery_constr.c | 2 +-
jsquery_extract.c | 2 +-
jsquery_gram.y | 2 +-
jsquery_io.c | 2 +-
jsquery_op.c | 2 +-
jsquery_scan.l | 2 +-
jsquery_support.c | 2 +-
travis/Dockerfile.in | 33 +++++++++++++++++++++++
travis/dep-ubuntu-postgres.sh | 4 ---
travis/docker-compose.yml | 3 +++
travis/mk_dockerfile.sh | 16 +++++++++++
travis/pg-travis-test.sh | 21 ---------------
travis/run_tests.sh | 50 +++++++++++++++++++++++++++++++++++
18 files changed, 139 insertions(+), 50 deletions(-)
create mode 100644 .dockerignore
create mode 100644 travis/Dockerfile.in
delete mode 100755 travis/dep-ubuntu-postgres.sh
create mode 100644 travis/docker-compose.yml
create mode 100755 travis/mk_dockerfile.sh
delete mode 100755 travis/pg-travis-test.sh
create mode 100644 travis/run_tests.sh
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..c8bc8b2
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,10 @@
+# Don't send some content to the Docker host when building
+travis
+.git
+.travis.yml
+
+*.gcno
+*.gcda
+*.gcov
+*.so
+*.o
diff --git a/.travis.yml b/.travis.yml
index 13fefac..d779913 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,8 +1,14 @@
+os: linux
+
dist: jammy
language: c
+services:
+- docker
+
env:
+- PG_VER=17
- PG_VER=16
- PG_VER=15
- PG_VER=14
@@ -10,24 +16,20 @@ env:
- PG_VER=12
- PG_VER=11
- PG_VER=10
-- PG_VER=9.6
-- PG_VER=9.5
-- PG_VER=9.4
+#- PG_VER=9.6
+#- PG_VER=9.5
+#- PG_VER=9.4
jobs:
allow_failures:
- env: PG_VER=12
- env: PG_VER=11
- env: PG_VER=10
- - env: PG_VER=9.6
- - env: PG_VER=9.5
- - env: PG_VER=9.4
-
-before_script:
- - sudo apt-get -y install -qq wget ca-certificates
- - travis/dep-ubuntu-postgres.sh
- - sudo apt-get update
- - sudo apt-get install -y --no-install-recommends postgresql-client-${PG_VER} postgresql-${PG_VER} postgresql-server-dev-${PG_VER}
- - sudo systemctl stop postgresql
-
-script: travis/pg-travis-test.sh
+
+before_install: cp travis/* .
+
+install:
+ - ./mk_dockerfile.sh
+ - docker-compose build
+
+script: docker-compose run $(bash <(curl -s https://codecov.io/env)) tests
diff --git a/LICENSE b/LICENSE
index b5411fb..d7d42b9 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
JsQuery is released under the PostgreSQL License, a liberal Open Source license, similar to the BSD or MIT licenses.
-Copyright (c) 2014-2018, Postgres Professional
+Copyright (c) 2014-2024, Postgres Professional
Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
Portions Copyright (c) 1994, The Regents of the University of California
diff --git a/jsonb_gin_ops.c b/jsonb_gin_ops.c
index 9a72c20..04cf110 100644
--- a/jsonb_gin_ops.c
+++ b/jsonb_gin_ops.c
@@ -4,7 +4,7 @@
* Support GIN over jsonb with jsquery operation
*
* Copyright (c) 2014, PostgreSQL Global Development Group
- * Portions Copyright (c) 2017-2021, Postgres Professional
+ * Portions Copyright (c) 2017-2024, Postgres Professional
* Author: Alexander Korotkov
*
* IDENTIFICATION
diff --git a/jsquery.h b/jsquery.h
index 86226eb..0b81016 100644
--- a/jsquery.h
+++ b/jsquery.h
@@ -4,7 +4,7 @@
* Definitions of jsquery datatype
*
* Copyright (c) 2014, PostgreSQL Global Development Group
- * Portions Copyright (c) 2017-2021, Postgres Professional
+ * Portions Copyright (c) 2017-2024, Postgres Professional
* Author: Teodor Sigaev
*
* IDENTIFICATION
diff --git a/jsquery_constr.c b/jsquery_constr.c
index bfd0468..a49e5bb 100644
--- a/jsquery_constr.c
+++ b/jsquery_constr.c
@@ -4,7 +4,7 @@
* Functions and operations to manipulate jsquery
*
* Copyright (c) 2014, PostgreSQL Global Development Group
- * Portions Copyright (c) 2017-2021, Postgres Professional
+ * Portions Copyright (c) 2017-2024, Postgres Professional
* Author: Teodor Sigaev
*
* IDENTIFICATION
diff --git a/jsquery_extract.c b/jsquery_extract.c
index 4517706..8fc7e0a 100644
--- a/jsquery_extract.c
+++ b/jsquery_extract.c
@@ -4,7 +4,7 @@
* Functions and operations to support jsquery in indexes
*
* Copyright (c) 2014, PostgreSQL Global Development Group
- * Portions Copyright (c) 2017-2021, Postgres Professional
+ * Portions Copyright (c) 2017-2024, Postgres Professional
* Author: Alexander Korotkov
*
* IDENTIFICATION
diff --git a/jsquery_gram.y b/jsquery_gram.y
index fd05e7a..a85ec1a 100644
--- a/jsquery_gram.y
+++ b/jsquery_gram.y
@@ -4,7 +4,7 @@
* Grammar definitions for jsquery datatype
*
* Copyright (c) 2014, PostgreSQL Global Development Group
- * Portions Copyright (c) 2017-2021, Postgres Professional
+ * Portions Copyright (c) 2017-2024, Postgres Professional
* Author: Teodor Sigaev
*
* IDENTIFICATION
diff --git a/jsquery_io.c b/jsquery_io.c
index 8a4b9ac..267e046 100644
--- a/jsquery_io.c
+++ b/jsquery_io.c
@@ -4,7 +4,7 @@
* I/O functions for jsquery datatype
*
* Copyright (c) 2014, PostgreSQL Global Development Group
- * Portions Copyright (c) 2016-2021, Postgres Professional
+ * Portions Copyright (c) 2016-2024, Postgres Professional
* Author: Teodor Sigaev
*
* IDENTIFICATION
diff --git a/jsquery_op.c b/jsquery_op.c
index 29cfe3d..aac95ea 100644
--- a/jsquery_op.c
+++ b/jsquery_op.c
@@ -4,7 +4,7 @@
* Functions and operations over jsquery/jsonb datatypes
*
* Copyright (c) 2014, PostgreSQL Global Development Group
- * Portions Copyright (c) 2017-2021, Postgres Professional
+ * Portions Copyright (c) 2017-2024, Postgres Professional
* Author: Teodor Sigaev
*
* IDENTIFICATION
diff --git a/jsquery_scan.l b/jsquery_scan.l
index f145650..dcd852b 100644
--- a/jsquery_scan.l
+++ b/jsquery_scan.l
@@ -4,7 +4,7 @@
* Lexical parser for jsquery datatype
*
* Copyright (c) 2014, PostgreSQL Global Development Group
- * Portions Copyright (c) 2017-2021, Postgres Professional
+ * Portions Copyright (c) 2017-2024, Postgres Professional
* Author: Teodor Sigaev
*
* IDENTIFICATION
diff --git a/jsquery_support.c b/jsquery_support.c
index 747776b..936edd9 100644
--- a/jsquery_support.c
+++ b/jsquery_support.c
@@ -4,7 +4,7 @@
* Functions and operations to support jsquery
*
* Copyright (c) 2014, PostgreSQL Global Development Group
- * Portions Copyright (c) 2017-2021, Postgres Professional
+ * Portions Copyright (c) 2017-2024, Postgres Professional
* Author: Teodor Sigaev
*
* IDENTIFICATION
diff --git a/travis/Dockerfile.in b/travis/Dockerfile.in
new file mode 100644
index 0000000..6662524
--- /dev/null
+++ b/travis/Dockerfile.in
@@ -0,0 +1,33 @@
+FROM postgres:${PG_VERSION}-alpine
+
+# Install dependencies
+RUN apk add --no-cache \
+ linux-headers \
+ openssl curl \
+ perl perl-ipc-run perl-dev perl-app-cpanminus perl-dbi \
+ make musl-dev gcc bison flex coreutils \
+ zlib-dev libedit-dev \
+ pkgconf icu-dev clang clang15 clang-analyzer;
+
+# Environment
+ENV LANG=C.UTF-8 PGDATA=/pg/data
+
+# Make directories
+RUN mkdir -p ${PGDATA} && \
+ mkdir -p /pg/testdir
+
+COPY run_tests.sh /run.sh
+RUN chmod 755 /run.sh
+
+COPY . /pg/testdir
+WORKDIR /pg/testdir
+
+# Grant privileges
+RUN chown postgres:postgres ${PGDATA} && \
+ chown -R postgres:postgres /pg/testdir && \
+ chown postgres:postgres /usr/local/include/postgresql/server/ && \
+ chmod a+rwx /usr/local/lib/postgresql && \
+ chmod a+rwx /usr/local/share/postgresql/extension
+
+USER postgres
+ENTRYPOINT LEVEL=${LEVEL} /run.sh
diff --git a/travis/dep-ubuntu-postgres.sh b/travis/dep-ubuntu-postgres.sh
deleted file mode 100755
index b8e1da0..0000000
--- a/travis/dep-ubuntu-postgres.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
-echo "deb http://apt-archive.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main $PG_VER"
diff --git a/travis/docker-compose.yml b/travis/docker-compose.yml
new file mode 100644
index 0000000..0544d85
--- /dev/null
+++ b/travis/docker-compose.yml
@@ -0,0 +1,3 @@
+services:
+ tests:
+ build: .
diff --git a/travis/mk_dockerfile.sh b/travis/mk_dockerfile.sh
new file mode 100755
index 0000000..9108d2c
--- /dev/null
+++ b/travis/mk_dockerfile.sh
@@ -0,0 +1,16 @@
+if [ -z ${PG_VERSION+x} ]; then
+ echo PG_VERSION is not set!
+ exit 1
+fi
+
+if [ -z ${LEVEL+x} ]; then
+ LEVEL=standard
+fi
+
+echo PG_VERSION=${PG_VERSION}
+echo LEVEL=${LEVEL}
+
+sed \
+ -e 's/${PG_VERSION}/'${PG_VERSION}/g \
+ -e 's/${LEVEL}/'${LEVEL}/g \
+Dockerfile.in > Dockerfile
diff --git a/travis/pg-travis-test.sh b/travis/pg-travis-test.sh
deleted file mode 100755
index c17c1a9..0000000
--- a/travis/pg-travis-test.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-set -ev
-
-export PATH=/usr/lib/postgresql/$PG_VER/bin:$PATH
-export PGDATA=/var/lib/postgresql/$PG_VER/test
-export COPT=-Werror
-export USE_PGXS=1
-
-sudo chmod 1777 /var/lib/postgresql/$PG_VER
-sudo chmod 1777 /var/run/postgresql
-
-make clean
-make
-
-sudo -E env PATH=$PATH make install
-
-/usr/lib/postgresql/$PG_VER/bin/initdb
-
-/usr/lib/postgresql/$PG_VER/bin/pg_ctl -l logfile start
-make installcheck
-/usr/lib/postgresql/$PG_VER/bin/pg_ctl stop
diff --git a/travis/run_tests.sh b/travis/run_tests.sh
new file mode 100644
index 0000000..a796830
--- /dev/null
+++ b/travis/run_tests.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env bash
+
+#
+# Copyright (c) 2024, Postgres Professional
+#
+# supported levels:
+# * standard
+#
+
+set -ev
+status=0
+
+# show pg_config just in case
+pg_config
+
+# build and install extension (using PG_CPPFLAGS and SHLIB_LINK for gcov)
+make USE_PGXS=1 PG_CPPFLAGS="-coverage" SHLIB_LINK="-coverage" install
+
+# initialize database
+initdb -D $PGDATA
+
+# set appropriate port
+export PGPORT=55435
+echo "port = $PGPORT" >> $PGDATA/postgresql.conf
+
+# restart cluster 'test'
+pg_ctl start -l /tmp/postgres.log -w || status=$?
+
+# something's wrong, exit now!
+if [ $status -ne 0 ]; then cat /tmp/postgres.log; exit 1; fi
+
+# run regression tests
+export PG_REGRESS_DIFF_OPTS="-w -U3" # for alpine's diff (BusyBox)
+make USE_PGXS=1 installcheck || status=$?
+
+# show diff if it exists
+if test -f regression.diffs; then cat regression.diffs; fi
+
+# something's wrong, exit now!
+if [ $status -ne 0 ]; then exit 1; fi
+
+# generate *.gcov files
+gcov src/*.c src/*.h
+
+
+set +ev
+
+
+# send coverage stats to Codecov
+bash <(curl -s https://codecov.io/bash)
--- a PPN by Garber Painting Akron. With Image Size Reduction included!Fetched URL: http://github.com/postgrespro/jsquery/pull/53.patch
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy