From aae6fcc9b76af24bb3f8f58c77c272cae4c313f2 Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Mon, 18 Sep 2023 20:05:53 +0200 Subject: [PATCH 1/2] Uploading pgdg binary package --- .../postgresql-16-pgdg-package-pgxs.yml | 60 ++++++++++++++++++- README.md | 9 ++- 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/.github/workflows/postgresql-16-pgdg-package-pgxs.yml b/.github/workflows/postgresql-16-pgdg-package-pgxs.yml index 87e259fc..459ee021 100644 --- a/.github/workflows/postgresql-16-pgdg-package-pgxs.yml +++ b/.github/workflows/postgresql-16-pgdg-package-pgxs.yml @@ -1,5 +1,9 @@ name: postgresql-16-pgdg-package-pgxs -on: [pull_request, workflow_dispatch] +on: + pull_request: + workflow_dispatch: + push: + branches: [main] jobs: build: @@ -49,3 +53,57 @@ jobs: sudo -u postgres bash -c 'make USE_PGXS=1' sudo make USE_PGXS=1 install working-directory: src/postgres-tde-ext + + - name: Create release directory + run: | + sudo mkdir pgtde-pgdg16 + sudo mkdir -p pgtde-pgdg16/usr/lib/postgresql/16/lib/ + sudo mkdir -p pgtde-pgdg16/share/postgresql/16/extension/ + sudo cp /usr/share/postgresql/16/extension/pg_tde* pgtde-pgdg16/share/postgresql/16/extension/ + sudo cp /usr/lib/postgresql/16/lib/pg_tde* pgtde-pgdg16/usr/lib/postgresql/16/lib/ + + - name: Upload tgz + uses: actions/upload-artifact@v3 + with: + name: pg_tde_pgdg16_binary + path: pgtde-pgdg16 + + - name: Create deb + run: | + sudo mkdir pgtde-pgdg16/DEBIAN + sudo sh -c 'echo "Package: pgtde-pgdg16" > pgtde-pgdg16/DEBIAN/control' + sudo sh -c 'echo "Version: 0.1" >> pgtde-pgdg16/DEBIAN/control' + sudo sh -c 'echo "Architecture: amd64" >> pgtde-pgdg16/DEBIAN/control' + sudo sh -c 'echo "Maintainer: Percona" >> pgtde-pgdg16/DEBIAN/control' + sudo sh -c 'echo "Description: Experimental pg_tde extension" >> pgtde-pgdg16/DEBIAN/control' + sudo dpkg-deb --build --root-owner-group pgtde-pgdg16 + + - name: Test deb + run: | + sudo rm -rf /usr/share/postgresql/16/extension/pg_tde* + sudo rm -rf /usr/lib/postgresql/16/lib/pg_tde* + sudo dpkg -i --debug=7777 pgtde-pgdg16.deb + + - name: Upload deb + uses: actions/upload-artifact@v3 + with: + name: pg_tde_deb + path: pgtde-pgdg16.deb + + - name: Create tgz + run: | + cd pgtde-pgdg16 && sudo tar -czvf ../pgtde-pgdg16.tar.gz . + + - name: Publish release + uses: ncipollo/release-action@v1 + # Only try and deploy on merged code + if: "github.repository == 'Percona-Lab/postgres-tde-ext' && github.ref_name == 'main' && (github.event_name == 'push' || github.event_name == 'schedule')" + with: + artifacts: "pgtde-pgdg16.tar.gz,pgtde-pgdg16.deb" + omitBody: true + allowUpdates: true + generateReleaseNotes: true + makeLatest: true + tag: "latest" + name: "HEAD" + replacesArtifacts: true diff --git a/README.md b/README.md index 82ff3cb7..f7cc833e 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,16 @@ This is an experimental encrypted access method for Postgres 16. +## Latest test release + +To download the latest build of the main branch, use the `HEAD` release from releases. + +Builds are available in a tar.gz format, containing only the required files, and as a deb package. +The deb package is built againts the pgdg16 release, but this dependency is not yet enforced in the package. + ## Installation steps -1. Build and install the plugin either with make or meson (see build steps) +1. Build and install the plugin either with make or meson (see build steps), or download a release 2. Add pg_tde to the preload libraries: `ALTER SYSTEM SET shared_preload_libraries = 'pg_tde';` 3. Restart the postgres server 4. Create the extension: `CREATE EXTENSION pg_tde;` From a681221b3834c33dca342d827ac59aa7a9c25def Mon Sep 17 00:00:00 2001 From: Zsolt Parragi Date: Tue, 19 Sep 2023 11:17:17 +0200 Subject: [PATCH 2/2] Update README.md Co-authored-by: Andrew Pogrebnoi --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f7cc833e..71487e5e 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ This is an experimental encrypted access method for Postgres 16. ## Latest test release -To download the latest build of the main branch, use the `HEAD` release from releases. +To download the latest build of the main branch, use the `HEAD` release from [releases](https://github.com/Percona-Lab/postgres-tde-ext/releases). Builds are available in a tar.gz format, containing only the required files, and as a deb package. The deb package is built againts the pgdg16 release, but this dependency is not yet enforced in the package.