Skip to content

Add release package workflow#190

Merged
pinodeca merged 8 commits into
mainfrom
package-release-workflow
Jun 4, 2026
Merged

Add release package workflow#190
pinodeca merged 8 commits into
mainfrom
package-release-workflow

Conversation

@pinodeca

@pinodeca pinodeca commented May 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a package release workflow for v* tags and manual dispatch
  • build PostgreSQL 17/18 Debian packages for amd64
  • publish .deb packages and source archives directly as release assets, plus a SHA256SUMS file
  • document package installation in README

Validation

  • bash -n scripts/package-deb.sh scripts/validate-deb-package.sh
  • parsed .github/workflows/package-release.yml as YAML
  • git diff --check
  • smoke-tested scripts/package-deb.sh with a fake pgrx package tree and inspected the generated .deb

Note: unrelated untracked workspace files were left untouched.

@pinodeca pinodeca force-pushed the package-release-workflow branch 3 times, most recently from aea6073 to 0b2bef2 Compare June 2, 2026 18:58
@pinodeca pinodeca force-pushed the package-release-workflow branch from a7f8cbf to b0c4359 Compare June 3, 2026 19:55

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an automated packaging/release pipeline to publish Debian artifacts for tagged releases, along with helper scripts to build and validate the resulting .deb packages and documentation for installing from release assets.

Changes:

  • Added a new GitHub Actions workflow to build/validate Debian packages and upload them (plus source archives) to GitHub Releases.
  • Added Debian packaging and package-validation scripts to produce .deb artifacts from cargo pgrx package output and run make installcheck against an installed package.
  • Updated pgspot allowlist and documented package installation in the README.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
.github/workflows/package-release.yml New workflow to build, validate, archive, and upload release assets for tags/manual dispatch.
scripts/package-deb.sh Builds a Debian package from the pgrx packaged usr/ tree and emits it into dist/.
scripts/validate-deb-package.sh Installs the produced .deb into a clean Debian container, boots PostgreSQL, and runs make installcheck.
scripts/run-pgspot.sh Allows pgspot PS017 finding for the ~> operator emitted by generated SQL.
README.md Documents installing pg_durable from Debian packages and release source archives.

Comment thread .github/workflows/package-release.yml
Comment thread .github/workflows/package-release.yml
Comment thread .github/workflows/package-release.yml
Comment thread .github/workflows/package-release.yml
Comment thread README.md

@tjgreen42 tjgreen42 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just need to update the PR description as per the robot's advice

@pinodeca pinodeca merged commit 711b507 into main Jun 4, 2026
12 checks passed
@pinodeca pinodeca deleted the package-release-workflow branch June 4, 2026 01:52
pinodeca added a commit that referenced this pull request Jun 10, 2026
- The build/validate matrix and README only target amd64, so the arm64
branches in the packaging scripts were dead code. Remove them so the
scripts reject unsupported architectures explicitly.
- Scope contents:write to the release job only; the rest of the workflow
runs read-only (least privilege).
- Upload the .deb files as release assets directly instead of wrapping them
in zips, matching the README's documented asset names.
- Publish a SHA256SUMS file so downloaders can verify assets.
This was referenced Jun 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants