You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudberry.apache.org by "tuhaihe (via GitHub)" <gi...@apache.org> on 2026/07/21 06:32:30 UTC
[PR] CI: consolidate Ubuntu 22.04/24.04 workflows into single matrix-drive… [cloudberry]
tuhaihe opened a new pull request, #1859:
URL: https://github.com/apache/cloudberry/pull/1859
…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
<!-- Thank you for your contribution to Apache Cloudberry (Incubating)! -->
Fixes #ISSUE_Number
### What does this PR do?
<!-- Brief overview of the changes, including any major features or fixes -->
### Type of Change
- [ ] Bug fix (non-breaking change)
- [ ] New feature (non-breaking change)
- [ ] Breaking change (fix or feature with breaking changes)
- [ ] Documentation update
### Breaking Changes
<!-- Remove if not applicable. If yes, explain impact and migration path -->
### Test Plan
<!-- How did you test these changes? -->
- [ ] Unit tests added/updated
- [ ] Integration tests added/updated
- [ ] Passed `make installcheck`
- [ ] Passed `make -C src/test installcheck-cbdb-parallel`
### Impact
<!-- Remove sections that don't apply -->
**Performance:**
<!-- Any performance implications? -->
**User-facing changes:**
<!-- Any changes visible to users? -->
**Dependencies:**
<!-- New dependencies or version changes? -->
### Checklist
- [ ] Followed [contribution guide](https://cloudberry.apache.org/contribute/code)
- [ ] Added/updated documentation
- [ ] Reviewed code for security implications
- [ ] This PR contains AI-assisted code generation
- [ ] Requested review from [cloudberry committers](https://github.com/orgs/apache/teams/cloudberry-committers)
### Additional Context
<!-- Any other information that would help reviewers? Remove if none -->
### CI Skip Instructions
<!--
To skip CI builds, add the appropriate CI skip identifier to your PR title.
The identifier must:
- Be in square brackets []
- Include the word "ci" and either "skip" or "no"
- Only use for documentation-only changes or when absolutely necessary
-->
---
<!-- Join our community:
- Mailing list: [dev@cloudberry.apache.org](https://lists.apache.org/list.html?dev@cloudberry.apache.org) (subscribe: dev-subscribe@cloudberry.apache.org)
- Discussions: https://github.com/apache/cloudberry/discussions -->
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudberry.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cloudberry.apache.org
For additional commands, e-mail: commits-help@cloudberry.apache.org
Re: [PR] CI: consolidate Ubuntu 22.04/24.04 workflows into single matrix-drive… [cloudberry]
Posted by "tuhaihe (via GitHub)" <gi...@apache.org>.
tuhaihe commented on PR #1859:
URL: https://github.com/apache/cloudberry/pull/1859#issuecomment-5056727834
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.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudberry.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cloudberry.apache.org
For additional commands, e-mail: commits-help@cloudberry.apache.org
Re: [PR] CI: consolidate Ubuntu 22.04/24.04 workflows into single matrix-drive… [cloudberry]
Posted by "tuhaihe (via GitHub)" <gi...@apache.org>.
tuhaihe merged PR #1859:
URL: https://github.com/apache/cloudberry/pull/1859
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudberry.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cloudberry.apache.org
For additional commands, e-mail: commits-help@cloudberry.apache.org
Re: [PR] CI: consolidate Ubuntu 22.04/24.04 workflows into single matrix-drive… [cloudberry]
Posted by "Copilot (via GitHub)" <gi...@apache.org>.
Copilot commented on code in PR #1859:
URL: https://github.com/apache/cloudberry/pull/1859#discussion_r3637587880
##########
.github/workflows/build-deb-cloudberry.yml:
##########
@@ -280,6 +285,15 @@ jobs:
get_defaults * .'
}
+ # Determine ubuntu versions
+ UBUNTU_INPUT="${{ github.event.inputs.ubuntu_version }}"
+ if [[ "$UBUNTU_INPUT" == "all" || -z "$UBUNTU_INPUT" ]]; then
+ UBUNTU_VERSIONS_JSON='["22.04","24.04"]'
+ else
+ UBUNTU_VERSIONS_JSON=$(echo "$UBUNTU_INPUT" | jq -R 'split(",") | map(.)')
+ fi
Review Comment:
The manual `ubuntu_version` input is parsed with `jq -R 'split(",") | map(.)'`, which preserves whitespace. Inputs like `22.04, 24.04` will produce `" 24.04"` and later break container image/artifact names that assume exact versions. Trim whitespace (and drop empty entries) when building `UBUNTU_VERSIONS_JSON`.
##########
.github/workflows/build-deb-cloudberry.yml:
##########
@@ -353,8 +374,13 @@ jobs:
outputs:
build_timestamp: ${{ steps.set_timestamp.outputs.timestamp }}
+ strategy:
+ fail-fast: false
Review Comment:
`build_timestamp` is produced inside `build-deb`, which is now a matrix job. Downstream jobs use `needs.build-deb.outputs.build_timestamp` for artifact names, but matrix job outputs are not version-specific (and can effectively come from a single matrix run), so the timestamp used downstream may not correspond to the `matrix.ubuntu_version` build that produced the artifacts/logs you're looking at.
##########
.github/workflows/build-deb-cloudberry.yml:
##########
@@ -353,8 +374,13 @@ jobs:
outputs:
build_timestamp: ${{ steps.set_timestamp.outputs.timestamp }}
+ strategy:
+ fail-fast: false
+ matrix:
+ ubuntu_version: ['22.04', '24.04']
+
Review Comment:
`build-deb` now runs as a 22.04/24.04 matrix job, but the DEB packaging step later in the job still copies packaging files from `devops/build/packaging/deb/ubuntu22.04/*`. That means the 24.04 matrix run will use the 22.04 packaging definition (previously 24.04 used `ubuntu24.04/*`), which is very likely to produce incorrect or failing packages.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@cloudberry.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cloudberry.apache.org
For additional commands, e-mail: commits-help@cloudberry.apache.org