Skip to content

Key Map Implementation - Replacing TDE Forks #275

Key Map Implementation - Replacing TDE Forks

Key Map Implementation - Replacing TDE Forks #275

name: postgresql-16-src-make
on: [pull_request, workflow_dispatch]
jobs:
build:
name: pg-16-src-make-test
runs-on: ubuntu-22.04
steps:
- name: Remove old postgres
run: |
sudo apt purge postgresql-client-common postgresql-common \
postgresql postgresql*
sudo rm -rf /var/lib/postgresql /var/log/postgresql /etc/postgresql \
/usr/lib/postgresql /usr/include/postgresql /usr/share/postgresql \
/etc/postgresql
sudo rm -f /usr/bin/pg_config
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libreadline6-dev systemtap-sdt-dev \
zlib1g-dev libssl-dev libpam0g-dev bison flex \
libipc-run-perl -y docbook-xsl docbook-xsl libxml2 libxml2-utils \
libxml2-dev libxslt-dev xsltproc libkrb5-dev libldap2-dev \
libsystemd-dev gettext tcl-dev libperl-dev pkg-config clang-11 \
llvm-11 llvm-11-dev libselinux1-dev python3-dev \
uuid-dev liblz4-dev libjson-c-dev libcurl4-openssl-dev
sudo /usr/bin/perl -MCPAN -e 'install IPC::RUN'
sudo /usr/bin/perl -MCPAN -e 'install Text::Trim'
- name: Clone postgres repository
uses: actions/checkout@v2
with:
repository: 'postgres/postgres'
ref: 'a81e5516fa4bc53e332cb35eefe231147c0e1749'
path: 'src'
- name: Clone pg_tde repository
uses: actions/checkout@v2
with:
path: 'src/contrib/pg_tde'
- name: Create pgsql dir
run: mkdir -p /opt/pgsql
- name: Build postgres
run: |
./configure --with-openssl --enable-tap-tests=no --enable-cassert
make -j
sudo make install
working-directory: src
- name: Build pg_tde
run: |
./configure
make -j
sudo make install
working-directory: src/contrib/pg_tde
- name: Start postgresql cluster with pg_tde
run: |
export PATH="/usr/local/pgsql/bin:$PATH"
sudo cp /usr/local/pgsql/bin/pg_config /usr/bin
initdb -D /opt/pgsql/data
echo "shared_preload_libraries = 'pg_tde'" >> \
/opt/pgsql/data/postgresql.conf
echo "pg_tde.keyringConfigFile = '/tmp/keyring.json'" >> \
/opt/pgsql/data/postgresql.conf
cp src/contrib/pg_tde/keyring.json /tmp/keyring.json
pg_ctl -D /opt/pgsql/data -l logfile start
- name: Test pg_tde
run: |
make installcheck
working-directory: src/contrib/pg_tde
- name: Report on test fail
uses: actions/upload-artifact@v2
if: ${{ failure() }}
with:
name: Regressions diff and postgresql log
path: |
src/contrib/pg_tde/regression.diffs
logfile
retention-days: 3
- name: Report on test fail 2
if: ${{ failure() }}
run: |
cat src/contrib/pg_tde/regression.diffs