mirror of https://github.com/postgres/postgres
This action is similar to what we had before, executin tests on Ubuntu 22.04 with both meson and make, all tests passing. The test is refactored to easily support other configurations, but those are not part of this commit yet because of failures. Oters will be added in separate commits with required script/code changes. The commit also contains a compilation / possibly bug fix reported by newer GCC versionspull/209/head
parent
9090f12201
commit
16cc2a1596
@ -1,60 +0,0 @@ |
||||
name: postgresql-current-make-debug |
||||
on: |
||||
schedule: |
||||
- cron: "0 0 * * *" |
||||
pull_request: |
||||
workflow_dispatch: |
||||
|
||||
jobs: |
||||
build: |
||||
name: pg-current-make-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: | |
||||
./configure --enable-debug --enable-cassert --enable-tap-tests |
||||
make |
||||
|
||||
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" |
||||
|
||||
make check |
||||
working-directory: src |
@ -1,68 +0,0 @@ |
||||
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 |
@ -0,0 +1,43 @@ |
||||
name: PSP |
||||
on: |
||||
pull_request: |
||||
workflow_dispatch: |
||||
|
||||
jobs: |
||||
build: |
||||
name: Percona Postgres |
||||
strategy: |
||||
matrix: |
||||
ubuntu_version: [22] |
||||
build_type: [debug,debugoptimized] |
||||
build_script: [make, meson] |
||||
runs-on: ubuntu-${{ matrix.ubuntu_version }}.04 |
||||
steps: |
||||
|
||||
- name: Clone repository |
||||
uses: actions/checkout@v4 |
||||
with: |
||||
path: 'src' |
||||
submodules: recursive |
||||
ref: ${{ github.ref }} |
||||
|
||||
- name: Install dependencies |
||||
run: src/.scripts/ubuntu-deps.sh |
||||
|
||||
- name: Setup kmip and vault |
||||
run: src/.scripts/setup-keyring-servers.sh |
||||
|
||||
- name: Build and test postgres |
||||
run: src/.scripts/${{ matrix.build_script }}-build.sh ${{ matrix.build_type }} |
||||
|
||||
- name: Test postgres |
||||
run: src/.scripts/${{ matrix.build_script }}-test.sh |
||||
|
||||
- name: Report on test fail |
||||
uses: actions/upload-artifact@v4 |
||||
if: ${{ failure() }} |
||||
with: |
||||
name: testlog-ubuntu-${{ matrix.ubuntu_version }}.04-meson-${{ matrix.build_type }} |
||||
path: | |
||||
src/build/testrun/ |
||||
retention-days: 3 |
@ -0,0 +1,13 @@ |
||||
#!/bin/bash |
||||
|
||||
SCRIPT_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" |
||||
|
||||
cd "$SCRIPT_DIR/../" |
||||
|
||||
if [ "$1" = "debugoptimized" ]; then |
||||
export CFLAGS="-O2" |
||||
export CXXFLAGS="-O2" |
||||
fi |
||||
|
||||
./configure --enable-debug --enable-cassert --enable-tap-tests |
||||
make |
@ -0,0 +1,7 @@ |
||||
#!/bin/bash |
||||
|
||||
SCRIPT_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" |
||||
|
||||
cd "$SCRIPT_DIR/../" |
||||
|
||||
make check-world |
@ -0,0 +1,8 @@ |
||||
#!/bin/bash |
||||
|
||||
SCRIPT_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" |
||||
|
||||
cd "$SCRIPT_DIR/../" |
||||
|
||||
meson setup build --prefix `pwd`/../inst --buildtype=$1 -Dcassert=true -Dtap_tests=enabled |
||||
cd build && ninja && ninja install |
@ -0,0 +1,7 @@ |
||||
#!/bin/bash |
||||
|
||||
SCRIPT_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" |
||||
|
||||
cd "$SCRIPT_DIR/../build" |
||||
|
||||
meson test |
@ -0,0 +1,25 @@ |
||||
#!/bin/bash |
||||
|
||||
SCRIPT_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" |
||||
|
||||
cd /tmp |
||||
|
||||
wget https://raw.githubusercontent.com/OpenKMIP/PyKMIP/refs/heads/master/bin/create_certificates.py |
||||
python3 create_certificates.py |
||||
cat client_certificate_jane_doe.pem >> client_key_jane_doe.pem |
||||
|
||||
mkdir policies |
||||
cd policies |
||||
wget https://raw.githubusercontent.com/OpenKMIP/PyKMIP/refs/heads/master/examples/policy.json |
||||
wget https://raw.githubusercontent.com/OpenKMIP/PyKMIP/refs/heads/master/examples/legacy_policy.json |
||||
cd .. |
||||
|
||||
echo $SCRIPT_DIR |
||||
pykmip-server -f "$SCRIPT_DIR/../contrib/pg_tde/pykmip-server.conf" -l /tmp/kmip-server.log & |
||||
|
||||
TV=$(mktemp) |
||||
{ exec >$TV; vault server -dev; } & |
||||
sleep 10 |
||||
ROOT_TOKEN=$(cat $TV | grep "Root Token" | cut -d ":" -f 2 | xargs echo -n) |
||||
echo "ROOT_TOKEN=$ROOT_TOKEN" >> $GITHUB_ENV |
||||
echo "Root token: $ROOT_TOKEN" |
@ -0,0 +1,19 @@ |
||||
#!/bin/bash |
||||
|
||||
sudo apt update |
||||
|
||||
sudo apt install -y libreadline6-dev systemtap-sdt-dev zlib1g-dev libssl-dev libpam0g-dev bison flex libxml2 libxml2-utils libxml2-dev libxslt-dev xsltproc libkrb5-dev libldap2-dev libsystemd-dev gettext tcl-dev libperl-dev pkg-config libselinux1-dev python3-dev uuid-dev liblz4-dev meson ninja-build gpg wget libcurl4-openssl-dev |
||||
|
||||
bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" |
||||
|
||||
# Perl test dependencies |
||||
|
||||
sudo apt install -y libipc-run-perl python3-pykmip libhttp-server-simple-perl |
||||
|
||||
sudo /usr/bin/perl -MCPAN -e 'install IPC::Run' |
||||
sudo /usr/bin/perl -MCPAN -e 'install Text::Trim' |
||||
|
||||
# Vault |
||||
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 |
Loading…
Reference in new issue