Citus PGXN Extension Builds =========================== PGXN Build Infrastructure ---------------------------- In the packaging system, we have scripts and images to build PGXN extensions. In the package build environment, we have Docker images, specifically Dockerfiles, to build pgxn extensions. The `Docker image `_ serves as the base image for all pgxn extensions. It contains all the dependencies required for building pgxn extensions. Within this docker image, there is a script called `fetch_and_build_pgxn `_ which is used to build pgxn extensions. Citus has an automation process to edit the packaging configuration scripts called `Update Version on PGXN Config Files `_ workflow. By executing this workflow on the `pgxn-citus` branch, a new pull request (PR) will be generated in the packaging repository. To do this, click the **"Run Workflow"** button, select `pgxn-citus` as the branch for **"Use workflow from,"** enter the version number to be released, and fill in any other necessary details. An example PR can be found here: `PR #1128 `_. Citus PGXN Configuration ------------------------ For each project package configuration, we maintain a branch named `pgxn-citus `_ specifically for building the pgxn extension for Citus. In this branch, we have three configuration files used for building the packages: 1. `META.json `_ 2. pkgvars 3. postgres-matrix.yml The usage of pkgvars and postgres-matrix.yml is similar to other project builds. .. _Pgxn Build Process: