Skip to content
# 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 postgres-tde-ext repository
# uses: actions/checkout@v2
# with:
# path: 'src/contrib/postgres-tde-ext'
# - name: Create pgsql dir
# run: mkdir -p /opt/pgsql
# - name: Build postgres
# run: |
# ./configure --with-openssl --enable-tap-tests=no
# make -j
# sudo make install
# working-directory: src
# - name: Build postgres-tde-ext
# run: |
# ./configure
# make -j
# sudo make install
# working-directory: src/contrib/postgres-tde-ext
# - 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/postgres-tde-ext/keyring.json /tmp/keyring.json
# pg_ctl -D /opt/pgsql/data -l logfile start
# - name: Test postgres-tde-ext
# run: |
# make installcheck
# working-directory: src/contrib/postgres-tde-ext
# - name: Report on test fail
# uses: actions/upload-artifact@v2
# if: ${{ failure() }}
# with:
# name: Regressions diff and postgresql log
# path: |
# src/contrib/postgres-tde-ext/regression.diffs
# logfile
# retention-days: 3
# - name: Report on test fail 2
# if: ${{ failure() }}
# run: |
# cat src/contrib/postgres-tde-ext/regression.diffs