mirror of
https://github.com/FerretDB/documentdb.git
synced 2026-11-06 02:52:47 -05:00
* Refactor CI workflows to conditionally set OS and PostgreSQL version for pull requests Signed-off-by: Shuai Tian <shuaitian@microsoft.com> * exclude specific internal directories from Debian and RPM packages Signed-off-by: Shuai Tian <shuaitian@microsoft.com> * fix Signed-off-by: Shuai Tian <shuaitian@microsoft.com> * skip check-extended-rum Signed-off-by: Shuai Tian <shuaitian@microsoft.com> * Include check-extended-rum target and tests in building Signed-off-by: Shuai Tian <shuaitian@microsoft.com> * fix Signed-off-by: Shuai Tian <shuaitian@microsoft.com> * update sql tests Signed-off-by: Shuai Tian <shuaitian@microsoft.com> * fix Signed-off-by: Shuai Tian <shuaitian@microsoft.com> * use exclude Signed-off-by: Shuai Tian <shuaitian@microsoft.com> * more Signed-off-by: Shuai Tian <shuaitian@microsoft.com> * use template Signed-off-by: Shuai Tian <shuaitian@microsoft.com> * feedback Signed-off-by: Shuai Tian <shuaitian@microsoft.com> --------- Signed-off-by: Shuai Tian <shuaitian@microsoft.com>
To Build Your Own Packages With Docker
Building Debian/Ubuntu Packages
Run ./packaging/build_packages.sh -h and follow the instructions.
E.g. to build for Debian 12 and PostgreSQL 16, run:
./packaging/build_packages.sh --os deb12 --pg 16
Supported DEB/Ubuntu distributions:
- deb11 — Debian 11 (bullseye)
- deb12 — Debian 12 (bookworm)
- deb13 — Debian 13 (trixie)
- ubuntu22.04 — Ubuntu 22.04 (jammy)
- ubuntu24.04 — Ubuntu 24.04 (noble)
Supported PG versions: 15, 16, 17
Building RPM Packages
For Red Hat-based distributions, you can build RPM packages:
./packaging/build_packages.sh --os rhel8 --pg 17
Supported RPM distributions:
- rhel8 (Red Hat Enterprise Linux 8 compatible)
- rhel9 (Red Hat Enterprise Linux 9 compatible)
Supported PG versions: 15, 16, 17
RPM Build Prerequisites
[Optional] Before building RPM packages, you can validate your environment:
./packaging/validate_rpm_build.sh
This script checks:
- Docker installation and availability
- Network connectivity for package repositories
- Access to required base images
Example RPM Build Commands
# Build for RHEL 9 with PostgreSQL 16
./packaging/build_packages.sh --os rhel9 --pg 16
# Build with testing enabled
./packaging/build_packages.sh --os rhel8 --pg 17 --test-clean-install
Output
Packages can be found at the packages directory by default, but it can be configured with the --output-dir option.
Note: The packages do not include pg_documentdb_distributed in the internal directory.