feat: add GitHub Actions release workflow to build and publish Debian packages#39
Draft
imediava-doctolib wants to merge 1 commit into
Draft
feat: add GitHub Actions release workflow to build and publish Debian packages#39imediava-doctolib wants to merge 1 commit into
imediava-doctolib wants to merge 1 commit into
Conversation
Adds a GitHub Actions workflow triggered on vX.Y.Z tags that builds one .deb per supported PostgreSQL version (14–18) and attaches them as assets to the GitHub Release. Also adds docs/debian-packaging.md documenting the full process from tagging a release to consuming packages via an S3-backed APT repository. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.github/workflows/release.yml: triggered onvX.Y.Ztag pushes, builds one.debper supported PostgreSQL version (14–18) using cargo-pgrx, and attaches them as assets to the GitHub Releasedocs/debian-packaging.md: end-to-end documentation covering the release process, S3-backed APT repository setup withdeb-s3, and client-side configurationHow it works
The workflow has two jobs:
create-release— creates the GitHub Release from the tag (idempotent)build-deb(matrix: PG 14–18) — installs PostgreSQL dev headers, builds the extension withcargo pgrx build --features pgN, packages the resulting.so+.control+.sqlinto a.deb, and uploads it to the releaseTest plan
vX.Y.Ztag and verify the workflow runs successfully for all 5 PG versions.debfiles are attached to the GitHub Release.debfiles manually on a test machine and verifyCREATE EXTENSION pg_no_seqscanworksNotes
cargo-pgrxversion is pinned to=0.16.1to matchCargo.tomldocs/debian-packaging.mdalso documents the optional next step of publishing to an S3-backed APT repository viadeb-s3(not included in this workflow yet)🤖 Generated with Claude Code