ci(ace): add native RPM/DEB release pipeline alongside goreleaser#146
Conversation
maqeel75
commented
Jul 13, 2026
- Updates release workflow to build native packages
- Makes sure that pre-release tags must not generate latest tag for docker images. latest tag will be generated only for final release tag
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughChangesRelease and Packaging
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Up to standards ✅🟢 Issues
|
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (1)
packaging/build-deb.sh (1)
56-56: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueQuote variable expansions (shellcheck SC2086).
Unquoted
${COMPONENT_NAME}(line 56) and${ACE_BRANCH}(line 64) are subject to word-splitting/globbing.🔧 Proposed fix
- cp ${COMPONENT_NAME}/common/pgedge-ace.* $BUILD_DIR/debian/ + cp "${COMPONENT_NAME}"/common/pgedge-ace.* "$BUILD_DIR"/debian/curl -fsSL -o "$BUILD_DIR/NOTICE.txt" \ - https://raw.githubusercontent.com/pgEdge/ace/${ACE_BRANCH}/NOTICE.txt + "https://raw.githubusercontent.com/pgEdge/ace/${ACE_BRANCH}/NOTICE.txt"Also applies to: 64-64
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packaging/build-deb.sh` at line 56, Quote the variable expansions in the build commands using COMPONENT_NAME and ACE_BRANCH, including the cp command and the command at the later ACE_BRANCH reference, while preserving their existing path and argument behavior.Source: Linters/SAST tools
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/release.yaml:
- Around line 386-390: Update the release manifest workflow to build cells[]
from a persisted inventory of successfully downloaded package artifacts rather
than the complete matrix. Use this artifact inventory consistently for publisher
push targets, backups, and manifest generation, including force_push runs with
failed matrix cells, so missing architectures are not reported as shipped.
- Around line 246-264: Update the “Build and push image” workflow step to expose
github.ref_name through an environment variable, then use that variable for all
shell references instead of interpolating the GitHub expression inside the
script. Quote the variable in the tag construction, case condition, log message,
and --build-arg value while preserving the existing GA versus pre-release
tagging behavior.
In `@common/common-functions.sh`:
- Around line 85-93: Update configure_pgedge_apt_repo to fail immediately when
downloading or installing the release package fails: remove the trailing `||
true`, use a unique temporary file for the downloaded package, clean it up after
installation, and run the source-file update and apt-get update with consistent
privilege escalation.
In `@packaging/build-deb.sh`:
- Around line 90-96: Update post_build so cp failures are not swallowed by the
blanket || echo handler. Distinguish an unmatched .deb glob from genuine copy
errors, reporting “No .deb packages found” only when no packages exist and
propagating failures such as permission or disk errors with a nonzero status.
In `@packaging/rpm/ace.spec`:
- Around line 35-36: Use the extracted KEY_ID when invoking gpg for SBOM
detached signing: update the signing command in packaging/rpm/ace.spec at lines
35-36 and the corresponding command in packaging/deb/debian/rules at lines 18-21
to pass --local-user "$KEY_ID", ensuring both packages sign with the intended
key.
---
Nitpick comments:
In `@packaging/build-deb.sh`:
- Line 56: Quote the variable expansions in the build commands using
COMPONENT_NAME and ACE_BRANCH, including the cp command and the command at the
later ACE_BRANCH reference, while preserving their existing path and argument
behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 4ae613b5-cdb2-4eb9-bf07-3ec773624183
📒 Files selected for processing (16)
.github/workflows/release.yamlcommon/build.shcommon/common-functions.shpackaging/build-deb.shpackaging/build-rpm.shpackaging/common.shpackaging/common/pgedge-ace.logrotatepackaging/common/pgedge-ace.servicepackaging/common/pgedge-ace.tmpfiles.confpackaging/deb/debian/controlpackaging/deb/debian/docspackaging/deb/debian/formatpackaging/deb/debian/postinstpackaging/deb/debian/preinstpackaging/deb/debian/rulespackaging/rpm/ace.spec