postgres/.github/workflows/postgresql-current-meson-debug.yml
Zsolt Parragi 32270fad42 Basic test for PG17
This commit adds two test runners which build Postgres with make
and meson, and run the basic regression tests.

Tests are executed for every PR, and also every day using the
latest pg_tde code.
2024-09-25 20:45:09 +01:00

69 lines
2.4 KiB
YAML

name: postgresql-current-meson-debug
on:
schedule:
- cron: "0 0 * * *"
pull_request:
workflow_dispatch:
jobs:
build:
name: pg-current-meson-debug
runs-on: ubuntu-22.04
steps:
- 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 meson ninja-build \
gpg wget libcurl4-openssl-dev libhttp-server-simple-perl
sudo /usr/bin/perl -MCPAN -e 'install IPC::Run'
sudo /usr/bin/perl -MCPAN -e 'install Text::Trim'
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install -y vault
- name: Clone repository
uses: actions/checkout@v4
with:
path: 'src'
ref: ${{ github.ref }}
- name: Checkout submodules
run: |
git submodule update --init --recursive
cd contrib/pg_tde
git checkout main
git pull
working-directory: src
- name: Build postgres
run: |
meson setup build --prefix `pwd`/../inst --buildtype=debug -Dcassert=true -Dtap_tests=enabled
cd build && ninja && ninja install
working-directory: src
- name: Test postgres
run: |
TV=$(mktemp)
{ exec >$TV; vault server -dev; } &
sleep 10
export ROOT_TOKEN=$(cat $TV | grep "Root Token" | cut -d ":" -f 2 | xargs echo -n)
echo "Root token: $ROOT_TOKEN"
meson test
working-directory: src/build
- name: Report on test fail
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: Regressions diff and postgresql log
path: |
src/build/testrun/
retention-days: 3