Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 21 additions & 9 deletions docs/development/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 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
release branch. Then, we must create a new release candidate by creating and
Expand All @@ -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; GitHub routes GA releases to the `staging` channel.