From 186f5553a6b57c61966c67c0b0c3ef5786fd6762 Mon Sep 17 00:00:00 2001 From: Dianjin Wang Date: Thu, 9 Apr 2026 10:51:22 +0800 Subject: [PATCH 1/3] CI: add smoke test for command validation Add smoke tests to verify all cloudberry-backup commands (gpbackup, gprestore, gpbackup_helper, gpbackup_s3_plugin, gpbackman) can be built and executed with --version and --help flags. - build_and_unit_test.yml: Test from GOPATH/bin after build - cloudberry-backup-ci.yml: Test from GPHOME/bin after install This provides fast feedback on basic functionality before running more expensive integration tests. --- .github/workflows/build_and_unit_test.yml | 21 +++++++++++++++++++++ .github/workflows/cloudberry-backup-ci.yml | 21 ++++++++++++++++++++- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_and_unit_test.yml b/.github/workflows/build_and_unit_test.yml index d24851a9..690cbd63 100644 --- a/.github/workflows/build_and_unit_test.yml +++ b/.github/workflows/build_and_unit_test.yml @@ -38,6 +38,27 @@ jobs: cd ${GOPATH}/src/github.com/apache/cloudberry-backup make build + - name: Smoke Test + run: | + cd ${GOPATH}/src/github.com/apache/cloudberry-backup + echo "Running smoke tests..." + echo "=== Testing gpbackup ===" + ${GOPATH}/bin/gpbackup --version + ${GOPATH}/bin/gpbackup --help > /dev/null + echo "=== Testing gprestore ===" + ${GOPATH}/bin/gprestore --version + ${GOPATH}/bin/gprestore --help > /dev/null + echo "=== Testing gpbackup_helper ===" + ${GOPATH}/bin/gpbackup_helper --version + ${GOPATH}/bin/gpbackup_helper --help > /dev/null + echo "=== Testing gpbackup_s3_plugin ===" + ${GOPATH}/bin/gpbackup_s3_plugin --version + ${GOPATH}/bin/gpbackup_s3_plugin --help > /dev/null + echo "=== Testing gpbackman ===" + ${GOPATH}/bin/gpbackman --version + ${GOPATH}/bin/gpbackman --help > /dev/null + echo "=== All smoke tests passed ===" + - name: Unit Test run: | cd ${GOPATH}/src/github.com/apache/cloudberry-backup diff --git a/.github/workflows/cloudberry-backup-ci.yml b/.github/workflows/cloudberry-backup-ci.yml index b4502e5d..06c7c273 100644 --- a/.github/workflows/cloudberry-backup-ci.yml +++ b/.github/workflows/cloudberry-backup-ci.yml @@ -187,7 +187,7 @@ jobs: strategy: fail-fast: false matrix: - test_target: [unit, integration, end_to_end, s3_plugin_e2e, regression, scale] + test_target: [smoke, unit, integration, end_to_end, s3_plugin_e2e, regression, scale] steps: - name: Free Disk Space @@ -316,6 +316,25 @@ jobs: set +e case "${TEST_TARGET}" in + smoke) + echo "Running smoke tests..." + echo "=== Testing gpbackup ===" + ${GPHOME}/bin/gpbackup --version + ${GPHOME}/bin/gpbackup --help > /dev/null + echo "=== Testing gprestore ===" + ${GPHOME}/bin/gprestore --version + ${GPHOME}/bin/gprestore --help > /dev/null + echo "=== Testing gpbackup_helper ===" + ${GPHOME}/bin/gpbackup_helper --version + ${GPHOME}/bin/gpbackup_helper --help > /dev/null + echo "=== Testing gpbackup_s3_plugin ===" + ${GPHOME}/bin/gpbackup_s3_plugin --version + ${GPHOME}/bin/gpbackup_s3_plugin --help > /dev/null + echo "=== Testing gpbackman ===" + ${GPHOME}/bin/gpbackman --version + ${GPHOME}/bin/gpbackman --help > /dev/null + echo "=== All smoke tests passed ===" | tee "${TEST_LOG_ROOT}/cloudberry-backup-smoke.log" + ;; unit) make unit 2>&1 | tee "${TEST_LOG_ROOT}/cloudberry-backup-unit.log" ;; From 2f95e8fc6d71cd9b4af6bd59d947f062addafc9b Mon Sep 17 00:00:00 2001 From: Dianjin Wang Date: Thu, 9 Apr 2026 11:05:51 +0800 Subject: [PATCH 2/3] Add set -euo pipefial to smoke test --- .github/workflows/build_and_unit_test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_and_unit_test.yml b/.github/workflows/build_and_unit_test.yml index 690cbd63..cb50de4f 100644 --- a/.github/workflows/build_and_unit_test.yml +++ b/.github/workflows/build_and_unit_test.yml @@ -40,6 +40,7 @@ jobs: - name: Smoke Test run: | + set -euo pipefail cd ${GOPATH}/src/github.com/apache/cloudberry-backup echo "Running smoke tests..." echo "=== Testing gpbackup ===" From 05f39013bbd5cab25b287dd7956353e1d669a502 Mon Sep 17 00:00:00 2001 From: Dianjin Wang Date: Thu, 9 Apr 2026 17:03:39 +0800 Subject: [PATCH 3/3] Address comment --- .github/workflows/cloudberry-backup-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cloudberry-backup-ci.yml b/.github/workflows/cloudberry-backup-ci.yml index 06c7c273..f6b72086 100644 --- a/.github/workflows/cloudberry-backup-ci.yml +++ b/.github/workflows/cloudberry-backup-ci.yml @@ -317,6 +317,7 @@ jobs: set +e case "${TEST_TARGET}" in smoke) + set -e echo "Running smoke tests..." echo "=== Testing gpbackup ===" ${GPHOME}/bin/gpbackup --version