CI: consolidate Ubuntu 22.04/24.04 workflows into single matrix-drive…#1859
CI: consolidate Ubuntu 22.04/24.04 workflows into single matrix-drive…#1859tuhaihe wants to merge 2 commits into
Conversation
b657c0d to
1f89492
Compare
…n file
Replace two separate Ubuntu DEB CI workflow files with one
matrix-driven workflow that runs build + test across Ubuntu
22.04 and 24.04.
Key changes:
- Rewrite: .github/workflows/build-deb-cloudberry.yml
- Remove: build-deb-cloudberry-ubuntu24.04.yml
- PR trigger: both Ubuntu versions now run on every PR (was only
22.04 before; 24.04 only triggered on push to main)
- Remove scheduled cron trigger (push + PR coverage is sufficient)
- Build/deb-install-test jobs use strategy.matrix.ubuntu_version
['22.04', '24.04']; test-deb job receives ubuntu_version via
prepare-test-matrix-deb cross-product expansion
- Container images dynamically resolved via
matrix.ubuntu_version (cbdb-build-ubuntu${version}-latest)
- Job naming: Ubuntu 22.04 keeps original names (no suffix) for
.asf.yaml compatibility; Ubuntu 24.04 appends "(Ubuntu 24.04)"
- Artifact names consistently suffixed with -ubuntu${version}
- Fix: remove broken matrix.name reference in deb-install-test
artifact upload (was referencing a non-existent matrix axis)
See: http://github.com/apache/cloudberry/discussions/1696
Assisted-by: DeepSeek
1f89492 to
0205b94
Compare
|
Now it's ready to be reviewed. It will take a similar amount of time to run all tests compared to Ubuntu 22.4/24.04 separately, but it also will exceed ~10 minutes if some tests fail. I think it's not too long, so we can accept. cc @leborchuk PTAL. |
There was a problem hiding this comment.
Pull request overview
Consolidates the DEB CI workflows for Ubuntu 22.04 and 24.04 into a single matrix-driven GitHub Actions workflow, so both Ubuntu versions run build + install tests + test matrix consistently on PRs and pushes.
Changes:
- Adds an
ubuntu_versionworkflow_dispatch input and expands the test matrix to cross-join selected tests with selected Ubuntu versions. - Converts
build-deb,deb-install-test, andtest-debto usestrategy.matrix.ubuntu_versionand version-suffixed artifact naming. - Removes the dedicated Ubuntu 24.04 workflow file.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| .github/workflows/build-deb-cloudberry.yml | Converts the DEB CI pipeline to a single workflow using an Ubuntu-version matrix and consistent per-version artifact naming. |
| .github/workflows/build-deb-cloudberry-ubuntu24.04.yml | Removes the standalone Ubuntu 24.04 workflow after consolidating into the matrix workflow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
leborchuk
left a comment
There was a problem hiding this comment.
LGTM, now we have a single workflow, tests output is
Build Job Summary
Environment
Start Time: 2026-07-21 07:08:13 UTC
ENABLE_DEBUG: false
OS Version: Ubuntu 22.04.5 LTS
GCC Version: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0
Build Results
End Time: 2026-07-21 07:21:13 UTC
[Job summary generated at run-time](https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary)
[Build Apache Cloudberry DEB (Ubuntu 24.04) summary](https://github.com/apache/cloudberry/actions/runs/29809085294?pr=1859#summary-88565963850)
Build Job Summary
Environment
Start Time: 2026-07-21 07:07:18 UTC
ENABLE_DEBUG: false
OS Version: Ubuntu 24.04.4 LTS
GCC Version: gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0
Build Results
End Time: 2026-07-21 07:19:46 UTC
…n file
Replace two separate Ubuntu DEB CI workflow files with one matrix-driven workflow that runs build + test across Ubuntu 22.04 and 24.04.
Key changes:
See: http://github.com/apache/cloudberry/discussions/1696
Assisted-by: DeepSeek
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