CI: Add source-release-based convenience packaging workflow#1720
Open
tuhaihe wants to merge 3 commits into
Open
CI: Add source-release-based convenience packaging workflow#1720tuhaihe wants to merge 3 commits into
tuhaihe wants to merge 3 commits into
Conversation
Add a GitHub Actions workflow to build Apache Cloudberry convenience DEB/RPM packages from verified source releases. Workflow features: - Two modes: official source release validation and git ref test - Multi-platform support: Rocky 8/9 and Ubuntu 22.04/24.04 - Multi-arch support: x86_64 and arm64 - Concurrency control to prevent duplicate builds - Timeout settings (30 minutes per job) - Matrix reuse via fromJSON() for DRY configuration - GPG signature and SHA-512 verification for official releases - Package installation smoke test with gpdemo - Organized input fields with mode-specific descriptions Also includes Ubuntu 24.04 packaging updates: - Change Architecture from amd64 to any for multi-arch support - Add logic to copy pre-built binaries from CBDB_BIN_PATH - Include Apache compliance files (LICENSE, NOTICE, DISCLAIMER) - Fix LD_LIBRARY_PATH for multi-arch compatibility Also update the workflow README with usage and scope notes.
Member
Author
Member
Author
|
Hi @leborchuk, PTAL. Thanks! Welcome to help add the Copilot as a reviewer. |
There was a problem hiding this comment.
Pull request overview
Adds a new manual GitHub Actions workflow to build “convenience” DEB/RPM packages from an ASF-approved Cloudberry source release (including signature/checksum verification), and updates Debian packaging metadata to better support multi-arch builds.
Changes:
- Added
package-convenience-binaries.ymlworkflow to verify an official source release (KEYS +.asc+.sha512), build packages in Cloudberry build containers across an OS/arch matrix, and run an install +gpdemosmoke test. - Updated Ubuntu 24.04 Debian packaging to stage binaries properly for packaging and to use multiarch paths in
dh_shlibdeps. - Updated workflow documentation to describe the new manual packaging workflow and its inputs/modes.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
devops/build/packaging/deb/ubuntu24.04/rules |
Stages binaries/compliance files for DEB builds and fixes multiarch fakeroot library path usage. |
devops/build/packaging/deb/ubuntu24.04/control |
Allows DEB builds on any supported architecture (Architecture: any). |
.github/workflows/README.md |
Documents the new manual convenience packaging workflow and its usage. |
.github/workflows/package-convenience-binaries.yml |
New end-to-end workflow for verified source-release packaging + artifact checksums + install smoke tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| type: string | ||
|
|
||
| permissions: | ||
| contents: read |
| name: ${{ matrix.platform.target_os }}-${{ matrix.platform.target_arch }}-${{ matrix.platform.package_type }} | ||
| needs: verify-source-release | ||
| runs-on: ${{ matrix.platform.runner }} | ||
| timeout-minutes: 30 |
| name: ${{ matrix.platform.label }}-install-test | ||
| needs: [build-packages] | ||
| runs-on: ${{ matrix.platform.runner }} | ||
| timeout-minutes: 30 |
Comment on lines
+581
to
+586
| # Find package file using ls | ||
| if [[ "${PACKAGE_TYPE}" == "deb" ]]; then | ||
| package_file=$(ls "${artifact_dir}"/*.deb 2>/dev/null | head -n 1) | ||
| else | ||
| package_file=$(ls "${artifact_dir}"/*.rpm 2>/dev/null | head -n 1) | ||
| fi |
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.
Add a manual GitHub Actions workflow to build Apache Cloudberry convenience DEB/RPM packages from an ASF-approved source release.
The workflow:
Also update the workflow README with usage and scope notes.
Fixes #ISSUE_Number
What does this PR do?
Type of Change
Breaking Changes
Test Plan
make installcheckmake -C src/test installcheck-cbdb-parallelImpact
Performance:
User-facing changes:
Dependencies:
Checklist
Additional Context
CI Skip Instructions