Skip to content

Convenience Binaries (Workflow)

Dianjin Wang edited this page Jul 24, 2026 · 1 revision

This page describes how to build RPM and DEB convenience binaries via the CI workflows for:

  • Apache Cloudberry (Core Repository)
  • cloudberry-backup
  • cloudberry-pxf

Now we have the workflows for the Cloudberry core project, cloudberry-backup and cloudberry-pxf to help the release manager to generate the convenience packages automatically, which supports building the packages in five different operating systems (Ubuntu 22.04/24.04, Rocky Linux 8/9/10) and two CPU archtitures (x86_64, ARM64).

Run the workflow

The following we will take the convenience package workflow for Apache Cloudberry core project as an example.

You can click the Run workflow button, then input the following files:

  • Release version, e.g. 2.1.0-incubating
  • Release source tarball URL, e.g. https://downloads.apache.org/incubator/cloudberry/2.1.0-incubating/apache-cloudberry-2.1.0-incubating-src.tar.gz
  • GPG signature URL for the source tarball, e.g. https://downloads.apache.org/incubator/cloudberry/2.1.0-incubating/apache-cloudberry-2.1.0-incubating-src.tar.gz.asc
  • SHA-512 checksum URL for the source tarball, e.g. https://downloads.apache.org/incubator/cloudberry/2.1.0-incubating/apache-cloudberry-2.1.0-incubating-src.tar.gz.sha512

After inputting these data, you can click to run. This workflow supports generating the DEB/RPM packages under Rocky8/9/10 and Ubuntu 22.04/24.04 with their checksum files.

Sign with your GPG key

But please note, after downloading these DEB/RPM packages, you still need to sign these files with your own GPG key:

gpg --armor --detach-sign --local-user xxx@apache.org apache-cloudberry-incubating-x.x.0-1.elN.x86_64.rpm

Then you can verify the GPG signature:

gpg --verify apache-cloudberry-incubating-x.x.0-1.elN.x86_64.rpm.asc apache-cloudberry-incubating-x.x.0-1.elN.x86_64.rpm

Verify the checksum

The checksum files are generated along with the convenience packages are made. After download the packages, you can verify the checksum again on your local machine:

sha512sum -c apache-cloudberry-pxf-x.x.0-incubating-src.tar.gz.sha512

Run the basic verification.

It would be better to install these convenience binaries on a pure Rocky 8/9/10 or Ubuntu 22.04/24.04 platform and run the basic demo or basic command.

For Cloudberry core

  1. Install the packages
# For RPM
sudo dnf install -y apache-cloudberry-db-incubating-x.x.0-1.elN.aarch64.rpm

# For DEB
sudo apt update
sudo apt --fix-broken install -y ./apache-cloudberry-db-incubating-x.x.0-1-ubuntuXX.04-adm64.deb
  1. Start Single-Node Demo Cluster
  • Switch to the gpadmin users:
su - gpadmin
source /usr/local/cloudberry-db/cloudberry-env.sh
  • Create a clean demo directory:
mkdir -p ~/cloudberry-demo
cd ~/cloudberry-demo
  • Initialize demo cluster:
gpdemo
source ./gpdemo-env.sh
  • Verify connection:
psql postgres

For cloudberry-backup

  1. Extract and install:
tar xvf apache-cloudberry-backup-incubating-X.X.0-linux-arm64.tar.gz
cd apache-cloudberry-backup-incubating-X.X.0-linux-arm64
  1. Run the installation script:
sudo ./install.sh

This script copies the following binaries into the Cloudberry installation bin/ directory:

  • gpbackup
  • gprestore
  • gpbackup_helper
  • gpbackup_s3_plugin
  • gpbackman (since 2.2+)
  • gpbackup_exporter (since 2.2+)
  1. Run the basic commands:

You can continue following the above Cloudberry test so that you can have a basic Cloudberry demo cluster environment.

## backup the postgres database
gpbackup --dbname postgres
## restore the postgres database
gprestore --dbname postgres --timestamp YYYYMMDDHHMMSS # YYYYMMDDHHMMSS is the timestamp showed in the gpbackup command

For cloudberry-pxf:

  1. Install the packages.

It's same to the Cloudberry.

  1. Run the basic commands.

You can continue following the above Cloudberry test so that you can have a basic Cloudberry demo cluster environment.

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk

export PXF_HOME=/usr/local/cloudberry-pxf

export PXF_BASE={HOME}/pxf-base 
export PATH=/usr/local/cloudberry-pxf/bin:PATH

pxf version
pxf prepare
pxf register
pxf start
pxf status
pxf stop
pxf restart

Upload the package files to GitHub release pages

Upload the package files and their signature and checksum files (RPM/DEB + .asc + .sha512) to the GitHub Release pages. Also, please remember to update the information on the download page on the Cloudberry site.

Clone this wiki locally