-
Notifications
You must be signed in to change notification settings - Fork 59
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revert "Temporary remove all workflows except cppcheck"
This reverts commit 9f32e94.
- Loading branch information
1 parent
c168a39
commit 1f74693
Showing
24 changed files
with
2,221 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
name: code-coverage-test | ||
on: [pull_request] | ||
|
||
jobs: | ||
build: | ||
name: coverage-test | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- name: Clone postgres repository | ||
uses: actions/checkout@v2 | ||
with: | ||
repository: 'postgres/postgres' | ||
ref: 'REL_15_STABLE' | ||
|
||
- name: Install dependencies | ||
run: | | ||
sudo apt-get update | ||
sudo apt purge postgresql-client-common postgresql-common \ | ||
postgresql postgresql* | ||
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 lcov | ||
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 | ||
sudo /usr/bin/perl -MCPAN -e 'install IPC::RUN' | ||
sudo /usr/bin/perl -MCPAN -e 'install Text::Trim' | ||
- name: Create pgsql dir | ||
run: mkdir -p /opt/pgsql | ||
|
||
- name: Build postgres | ||
run: | | ||
export PATH="/opt/pgsql/bin:$PATH" | ||
./configure '--build=x86_64-linux-gnu' '--prefix=/usr' \ | ||
'--includedir=${prefix}/include' '--enable-coverage' \ | ||
'--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' \ | ||
'--sysconfdir=/etc' '--localstatedir=/var' '--with-icu' \ | ||
'--libdir=${prefix}/lib/x86_64-linux-gnu' '--with-tcl' \ | ||
'--libexecdir=${prefix}/lib/x86_64-linux-gnu' '--with-perl' \ | ||
'--with-python' '--with-pam' '--with-openssl' '--with-libxml' \ | ||
'--with-libxslt' 'PYTHON=/usr/bin/python3' '--enable-nls' \ | ||
'--mandir=/usr/share/postgresql/15/man' '--enable-thread-safety' \ | ||
'--docdir=/usr/share/doc/postgresql-doc-15' '--enable-dtrace' \ | ||
'--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share' \ | ||
'--datadir=/usr/share/postgresql/15' '--with-uuid=e2fs' \ | ||
'--bindir=/usr/lib/postgresql/15/bin' '--with-gnu-ld' \ | ||
'--libdir=/usr/lib/x86_64-linux-gnu' '--enable-tap-tests' \ | ||
'--libexecdir=/usr/lib/postgresql' '--enable-debug' \ | ||
'--includedir=/usr/include/postgresql' '--disable-rpath' \ | ||
'--with-pgport=5432' '--with-system-tzdata=/usr/share/zoneinfo' \ | ||
'--with-llvm''TAR=/bin/tar' 'XSLTPROC=xsltproc --nonet' \ | ||
'LLVM_CONFIG=/usr/bin/llvm-config-11' 'CLANG=/usr/bin/clang-11' \ | ||
'--with-systemd' 'MKDIR_P=/bin/mkdir -p' '--with-selinux' \ | ||
'PROVE=/usr/bin/prove' '--with-gssapi' '--with-ldap' \ | ||
'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now' \ | ||
'build_alias=x86_64-linux-gnu' \ | ||
'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' \ | ||
'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fno-omit-frame-pointer' \ | ||
'CXXFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security' | ||
make world | ||
sudo make install-world | ||
- name: Start postgresql cluster | ||
run: | | ||
export PATH="/usr/lib/postgresql/15/bin:$PATH" | ||
sudo cp /usr/lib/postgresql/15/bin/pg_config /usr/bin | ||
initdb -D /opt/pgsql/data | ||
pg_ctl -D /opt/pgsql/data -l logfile start | ||
- name: Clone pg_stat_monitor repository | ||
uses: actions/checkout@v2 | ||
with: | ||
path: 'src/pg_stat_monitor' | ||
|
||
- name: Build pg_stat_monitor | ||
run: | | ||
make USE_PGXS=1 | ||
sudo make USE_PGXS=1 install | ||
working-directory: src/pg_stat_monitor | ||
|
||
- name: Load pg_stat_monitor library and Restart Server | ||
run: | | ||
export PATH="/usr/lib/postgresql/15/bin:$PATH" | ||
pg_ctl -D /opt/pgsql/data -l logfile stop | ||
echo "shared_preload_libraries = 'pg_stat_monitor'" \ | ||
>> /opt/pgsql/data/postgresql.conf | ||
pg_ctl -D /opt/pgsql/data -l logfile start | ||
working-directory: src/pg_stat_monitor | ||
|
||
- name: Start pg_stat_monitor_tests & Run code coverage | ||
run: | | ||
make installcheck | ||
/usr/lib/postgresql/15/bin/psql -d postgres -p 5432 -c "\list" | ||
gcov -abcfu pg_stat_monitor.c | ||
gcov -abcfu guc.c | ||
gcov -abcfu hash_query.c | ||
sudo chmod -R ugo+rwx *.gcov* | ||
working-directory: src/pg_stat_monitor | ||
|
||
- name: Upload | ||
uses: codecov/codecov-action@v2 | ||
with: | ||
verbose: true | ||
working-directory: ./src/pg_stat_monitor | ||
files: ./pg_stat_monitor.c.gcov,./hash_query.c.gcov,./guc.c.gcov | ||
|
||
- name: Change dir permissions on fail | ||
if: ${{ failure() }} | ||
run: | | ||
sudo chmod -R ugo+rwx t | ||
sudo chmod -R ugo+rwx tmp_check | ||
exit 2 # regenerate error so that we can upload files in next step | ||
working-directory: src/pg_stat_monitor | ||
|
||
- name: Upload logs on fail | ||
if: ${{ failure() }} | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: Regressions diff and postgresql log | ||
path: | | ||
src/pg_stat_monitor/regression.diffs | ||
src/pg_stat_monitor/regression.out | ||
src/pg_stat_monitor/logfile | ||
src/pg_stat_monitor/t/results/ | ||
src/pg_stat_monitor/tmp_check/log/ | ||
!src/pg_stat_monitor/tmp_check/**/archives/* | ||
!src/pg_stat_monitor/tmp_check/**/backup/* | ||
!src/pg_stat_monitor/tmp_check/**/pgdata/* | ||
!src/pg_stat_monitor/tmp_check/**/archives/ | ||
!src/pg_stat_monitor/tmp_check/**/backup/ | ||
!src/pg_stat_monitor/tmp_check/**/pgdata/ | ||
if-no-files-found: warn | ||
retention-days: 3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
name: postgresql-11-build | ||
on: [push] | ||
|
||
jobs: | ||
build: | ||
name: pg-11-build-test | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- name: Clone postgres repository | ||
uses: actions/checkout@v2 | ||
with: | ||
repository: 'postgres/postgres' | ||
ref: 'REL_11_STABLE' | ||
|
||
- name: Install dependencies | ||
run: | | ||
sudo apt-get update | ||
sudo apt purge postgresql-client-common postgresql-common \ | ||
postgresql postgresql* | ||
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 | ||
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: Create pgsql dir | ||
run: mkdir -p /opt/pgsql | ||
|
||
- name: Build postgres | ||
run: | | ||
export PATH="/opt/pgsql/bin:$PATH" | ||
./configure '--build=x86_64-linux-gnu' '--prefix=/usr' \ | ||
'--includedir=/usr/include' '--mandir=/usr/share/man' \ | ||
'--infodir=/usr/share/info' '--sysconfdir=/etc' '--enable-nls' \ | ||
'--localstatedir=/var' '--libdir=/usr/lib/x86_64-linux-gnu' \ | ||
'runstatedir=/run' '--with-icu' '--with-tcl' '--with-perl' \ | ||
'--with-python' '--with-pam' '--with-openssl' '--with-libxml' \ | ||
'--with-libxslt' 'PYTHON=/usr/bin/python3' 'MKDIR_P=/bin/mkdir -p' \ | ||
'--mandir=/usr/share/postgresql/11/man' '--enable-dtrace' \ | ||
'--docdir=/usr/share/doc/postgresql-doc-11' '--enable-debug' \ | ||
'--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share' \ | ||
'--datadir=/usr/share/postgresql/11' '--enable-thread-safety' \ | ||
'--bindir=/usr/lib/postgresql/11/bin' '--enable-tap-tests' \ | ||
'--libdir=/usr/lib/x86_64-linux-gnu' '--disable-rpath' \ | ||
'--libexecdir=/usr/lib/postgresql' '--with-uuid=e2fs' \ | ||
'--includedir=/usr/include/postgresql' '--with-gnu-ld' \ | ||
'--with-pgport=5432' '--with-system-tzdata=/usr/share/zoneinfo' \ | ||
'--with-llvm' 'LLVM_CONFIG=/usr/bin/llvm-config-11' \ | ||
'CLANG=/usr/bin/clang-11' '--with-systemd' '--with-selinux' \ | ||
'PROVE=/usr/bin/prove' 'TAR=/bin/tar' '--with-gssapi' '--with-ldap' \ | ||
'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now' \ | ||
'--with-includes=/usr/include/mit-krb5' '--with-libs=/usr/lib/mit-krb5' \ | ||
'--with-libs=/usr/lib/x86_64-linux-gnu/mit-krb5' \ | ||
'build_alias=x86_64-linux-gnu' \ | ||
'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' \ | ||
'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fno-omit-frame-pointer' \ | ||
'CXXFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security' | ||
make world | ||
sudo make install-world | ||
- name: Start postgresql cluster | ||
run: | | ||
export PATH="/usr/lib/postgresql/11/bin:$PATH" | ||
sudo cp /usr/lib/postgresql/11/bin/pg_config /usr/bin | ||
initdb -D /opt/pgsql/data | ||
pg_ctl -D /opt/pgsql/data -l logfile start | ||
- name: Clone pg_stat_monitor repository | ||
uses: actions/checkout@v2 | ||
with: | ||
path: 'src/pg_stat_monitor' | ||
|
||
- name: Build pg_stat_monitor | ||
run: | | ||
make USE_PGXS=1 | ||
sudo make USE_PGXS=1 install | ||
working-directory: src/pg_stat_monitor/ | ||
|
||
- name: Load pg_stat_monitor library and Restart Server | ||
run: | | ||
export PATH="/usr/lib/postgresql/11/bin:$PATH" | ||
pg_ctl -D /opt/pgsql/data -l logfile stop | ||
echo "shared_preload_libraries = 'pg_stat_monitor'" >> \ | ||
/opt/pgsql/data/postgresql.conf | ||
pg_ctl -D /opt/pgsql/data -l logfile start | ||
working-directory: src/pg_stat_monitor | ||
|
||
- name: Start pg_stat_monitor_tests | ||
run: | | ||
make installcheck | ||
working-directory: src/pg_stat_monitor | ||
|
||
- name: Report on pg_stat_monitor test fail | ||
uses: actions/upload-artifact@v2 | ||
if: ${{ failure() }} | ||
with: | ||
name: Regressions diff and postgresql log | ||
path: | | ||
src/pg_stat_monitor/regression.diffs | ||
src/pg_stat_monitor/logfile | ||
retention-days: 1 | ||
|
||
- name: Start Server installcheck-world tests | ||
run: | | ||
make installcheck-world | ||
- name: Report on installcheck-world test suites fail | ||
uses: actions/upload-artifact@v2 | ||
if: ${{ failure() }} | ||
with: | ||
name: Regressions output files of failed testsuite, and pg log | ||
path: | | ||
**/regression.diffs | ||
**/regression.out | ||
src/pg_stat_monitor/logfile | ||
retention-days: 3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
name: postgresql-11-pgdg-package | ||
on: [pull_request] | ||
|
||
jobs: | ||
build: | ||
name: pg-11-pgdg-package-test | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- name: Clone pg_stat_monitor repository | ||
uses: actions/checkout@v2 | ||
with: | ||
path: 'src/pg_stat_monitor' | ||
|
||
- name: Delete old postgresql files | ||
run: | | ||
sudo apt-get update | ||
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 PG Distribution Postgresql 11 | ||
run: | | ||
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt \ | ||
$(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' | ||
sudo wget --quiet -O - \ | ||
https://www.postgresql.org/media/keys/ACCC4CF8.asc | | ||
sudo apt-key add - | ||
sudo apt-get -y update | ||
sudo apt-get -y install postgresql-11 postgresql-server-dev-11 | ||
- name: Change src owner to postgres | ||
run: | | ||
sudo chown -R postgres:postgres src | ||
- name: Build pg_stat_monitor | ||
run: | | ||
sudo -u postgres bash -c 'make USE_PGXS=1' | ||
sudo make USE_PGXS=1 install | ||
working-directory: src/pg_stat_monitor | ||
|
||
- name: Start pg_stat_monitor_tests | ||
run: | | ||
sudo service postgresql stop | ||
echo "shared_preload_libraries = 'pg_stat_monitor'" | | ||
sudo tee -a /etc/postgresql/11/main/postgresql.conf | ||
sudo service postgresql start | ||
sudo psql -V | ||
export PG_TEST_PORT_DIR=/home/postgres | ||
sudo -u postgres bash -c 'make installcheck USE_PGXS=1' | ||
working-directory: src/pg_stat_monitor | ||
|
||
- name: Report on test fail | ||
uses: actions/upload-artifact@v2 | ||
if: ${{ failure() }} | ||
with: | ||
name: Regressions diff and postgresql log | ||
path: | | ||
src/pg_stat_monitor/regression.diffs | ||
src/pg_stat_monitor/logfile | ||
retention-days: 3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
name: postgresql-11-pmm-integration | ||
on: [push] | ||
|
||
jobs: | ||
build: | ||
name: pg-11-pgsm-pmm-integration-test | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 30 | ||
steps: | ||
- name: Clone QA Integration repository | ||
uses: actions/checkout@v3 | ||
with: | ||
repository: 'Percona-Lab/qa-integration' | ||
ref: 'main' | ||
|
||
# print branch and Repo name | ||
- name: Get branch and Repo Name | ||
run: echo 'The branch and Repo Name is' ${{ github.head_ref }} ${{ github.actor }}/pg_stat_monitor | ||
|
||
- name: "Set TARGET_BRANCH variable for a PR run" | ||
if: github.event_name == 'pull_request' | ||
run: echo "TARGET_BRANCH=${{ github.event.pull_request.base.ref }}" >> $GITHUB_ENV | ||
|
||
- name: "Set TARGET_BRANCH variable for a PUSH run" | ||
if: github.event_name == 'push' | ||
run: echo "TARGET_BRANCH=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | ||
|
||
- name: Run PMM & PGSM Setup, E2E Tests | ||
run: bash -xe ./pmm_pgsm_setup/pmm_pgsm_setup.sh --pgsql-version=11 --pgstat-monitor-branch=${{ env.TARGET_BRANCH }} | ||
|
||
- name: Get PMM-Agent Logs from the Container | ||
if: success() || failure() # run this step even if previous step failed | ||
run: docker exec pgsql_pgsm_11 cat pmm-agent.log > ./pmm-ui-tests/tests/output/pmm-agent.log | ||
|
||
- name: Upload Tests Artifacts | ||
uses: actions/upload-artifact@v3 | ||
if: success() || failure() # run this step even if previous step failed | ||
with: | ||
name: tests-artifact | ||
path: ./pmm-ui-tests/tests/output/ | ||
if-no-files-found: ignore # 'warn' or 'ignore' are also available, defaults to `warn` |
Oops, something went wrong.