Copilot commented on code in PR #1857:
URL: https://github.com/apache/cloudberry/pull/1857#discussion_r3637482526
##########
.github/workflows/build-cloudberry.yml:
##########
@@ -436,18 +464,21 @@ jobs:
## ======================================================================
build:
- name: Build Apache Cloudberry RPM
+ name: ${{ matrix.rocky_version == '9' && 'Build Apache Cloudberry RPM' ||
format('Build RPM (Rocky {0})', matrix.rocky_version) }}
env:
JOB_TYPE: build
needs: [check-skip]
runs-on: ubuntu-22.04
timeout-minutes: 120
if: github.event.inputs.reuse_artifacts_from_run_id == ''
- outputs:
- build_timestamp: ${{ steps.set_timestamp.outputs.timestamp }}
+
+ strategy:
+ fail-fast: false
+ matrix:
+ rocky_version: [8, 9, 10]
Review Comment:
`matrix.rocky_version` is defined as numbers (`[8, 9, 10]`) but later
compared to a string (`matrix.rocky_version == '9'`). That comparison will
never match if the value is numeric, so the special-case job name for Rocky 9
won’t apply.
This issue also appears on line 784 of the same file.
##########
.github/workflows/build-cloudberry.yml:
##########
@@ -373,6 +385,15 @@ jobs:
get_defaults * .'
}
+ # Determine rocky versions
+ ROCKY_INPUT="${{ github.event.inputs.rocky_version }}"
+ if [[ "$ROCKY_INPUT" == "all" || -z "$ROCKY_INPUT" ]]; then
+ ROCKY_VERSIONS_JSON='["8","9","10"]'
+ else
+ ROCKY_VERSIONS_JSON=$(echo "$ROCKY_INPUT" | jq -R 'split(",") |
map(.)')
+ fi
+ echo "Rocky versions: $ROCKY_VERSIONS_JSON"
Review Comment:
The `rocky_version` workflow_dispatch input is split with `jq -R 'split(",")
| map(.)'` but the values aren’t trimmed or validated. Inputs like `8, 9` will
produce `" 9"` (leading space), which then breaks image tags / artifact names,
and invalid values (e.g. `11`) will create a matrix that can’t be satisfied by
the build artifacts.
##########
.github/workflows/build-cloudberry.yml:
##########
@@ -108,6 +110,11 @@ on:
types: [opened, synchronize, reopened, edited]
workflow_dispatch:
inputs:
+ rocky_version:
+ description: 'Rocky Linux version (default: all)'
+ required: false
+ default: 'all'
+ type: string
Review Comment:
A `workflow_dispatch` input `rocky_version` is introduced, but only
`prepare-test-matrix` uses it. The `build` and `rpm-install-test` jobs still
always run all Rocky versions, so selecting a subset (e.g. `rocky_version=9`)
still performs unnecessary builds/installs and increases CI time/cost.
##########
.github/workflows/build-cloudberry.yml:
##########
@@ -90,15 +91,16 @@
# - Core Dump Analyses (retention: ${{ env.LOG_RETENTION_DAYS }} days).
#
# Notes:
-# - Supports concurrent job execution.
+# - Supports concurrent job execution across Rocky versions.
# - Includes robust skip logic for pull requests and pushes.
# - Handles ignored test cases, ensuring results are comprehensive.
# - Provides detailed logs and error handling for failed and ignored tests.
# - Analyzes core dumps generated during test execution.
# - Supports debug builds with preserved symbols.
+# - All Rocky versions run the same set of tests for maximum coverage.
# --------------------------------------------------------------------
-name: Apache Cloudberry Build
+name: Apache Cloudberry Build (Rocky Linux)
on:
Review Comment:
The PR description/title says the Rocky CI is moved into a new
`.github/workflows/build-cloudberry-rocky.yml` and the old
`.github/workflows/build-cloudberry.yml` is removed, but the actual change
modifies `build-cloudberry.yml` and there is no `build-cloudberry-rocky.yml` in
this PR. This mismatch can confuse reviewers and future maintainers about the
intended workflow entrypoint.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]