From 6ad7bd2848ad04a274bdd7e283605940c3bb89be Mon Sep 17 00:00:00 2001 From: Siva Date: Thu, 23 Jul 2026 16:37:53 +0530 Subject: [PATCH 1/2] docs: update release process for publish pipeline --- docs/development/development.md | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/docs/development/development.md b/docs/development/development.md index 2733868f..905a9f8c 100644 --- a/docs/development/development.md +++ b/docs/development/development.md @@ -145,16 +145,28 @@ Once you accept the prompt, the make recipe will: The new `v1.0.0-rc.1` tag will trigger a release build in CircleCI. The release build will: -- create a new GitHub release with: - - platform-specific binaries - - an SBOM - - checksums for the artifacts - - the release Changelog +- create a new GitHub **draft** release with: + - platform-specific binaries + - an SBOM + - checksums for the artifacts + - the release changelog - build and publish Docker images to `ghcr.io/pgedge/control-plane`. +- build signed RPM and DEB packages for all supported distributions and + attach them to the draft release. +- publish the draft release, making it visible and triggering the + GitHub Actions `publish.yml` workflow. -Since the tag includes a pre-release marker, `-rc.1`, the GitHub release will be -marked as a pre-release. At this point, it's ready for quality assurance and -testing. +The `publish.yml` workflow runs after the release is published and: + +- downloads the signed RPM and DEB packages from the GitHub release. +- pushes RPMs to the pgEdge dnf repository. +- pushes DEBs to the pgEdge apt repository (reprepro signs the repo). +- backs up all packages to S3. +- posts a Slack notification with the publish results. + +Since the tag includes a pre-release marker, `-rc.1`, GitHub marks the +release as a pre-release and CircleCI routes packages to the `staging` +repository. The release is ready for quality assurance and testing. If we find bugs in the release, the fixes should be PR'd or pushed into the release branch. Then, we must create a new release candidate by creating and @@ -165,4 +177,4 @@ release PR, and then we can merge it. Merging the release PR will trigger a GitHub workflow to create the release tag, for example, `v1.0.0`. This new tag will trigger the same build process -described above for the completed release. +described above; CircleCI routes GA releases to the `staging` channel. From 15e15f2f692a637cacf2cbcf7b5b143cb4b7f772 Mon Sep 17 00:00:00 2001 From: Siva Date: Thu, 23 Jul 2026 17:13:57 +0530 Subject: [PATCH 2/2] addressing review comments --- docs/development/development.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/development/development.md b/docs/development/development.md index 905a9f8c..deccbf74 100644 --- a/docs/development/development.md +++ b/docs/development/development.md @@ -165,7 +165,7 @@ The `publish.yml` workflow runs after the release is published and: - posts a Slack notification with the publish results. Since the tag includes a pre-release marker, `-rc.1`, GitHub marks the -release as a pre-release and CircleCI routes packages to the `staging` +release as a pre-release and GitHub routes packages to the `staging` repository. The release is ready for quality assurance and testing. If we find bugs in the release, the fixes should be PR'd or pushed into the @@ -177,4 +177,4 @@ release PR, and then we can merge it. Merging the release PR will trigger a GitHub workflow to create the release tag, for example, `v1.0.0`. This new tag will trigger the same build process -described above; CircleCI routes GA releases to the `staging` channel. +described above; GitHub routes GA releases to the `staging` channel.