Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
a807963
Add gpbackman in the cloudberry-backup.
woblerr Mar 15, 2026
a6ec715
Replace duplicate utility functions.
woblerr Mar 17, 2026
b6ac99c
Use same style as other main files.
woblerr Mar 17, 2026
6a14862
Disable auto-formatting for table headers in backup-info command.
woblerr Mar 22, 2026
fa6fd3b
Add end-to-end tests for gpbackman functionality.
woblerr Mar 22, 2026
596f7e5
Fix typo in flag names and function for backup clean and history clea…
woblerr Mar 22, 2026
b127c75
Add gpbackman path setup and skip condition for old backup version te…
woblerr Mar 22, 2026
237dc98
Refactor backup deletion commands to use direct SSH execution.
woblerr Mar 22, 2026
74e065b
Add documentation for gpBackMan.
woblerr Mar 26, 2026
b58de87
Add Apache License header to files in gpBackMan.
woblerr Mar 30, 2026
ba48a3b
Fix release tarball base version naming
tuhaihe Apr 1, 2026
1b86417
Include Apache compliance files in binary packages (#81)
tuhaihe Apr 8, 2026
eaf5241
asf.yaml: add woblerr as a collaborator
tuhaihe Apr 8, 2026
57f513c
Bump Go version from 1.21 to 1.24.
woblerr Apr 7, 2026
74b8825
Fix go vet issue.
woblerr Apr 7, 2026
84710a5
Migrate golangci-lint from v1 to v2.
woblerr Apr 7, 2026
77650b9
Fix lint issues introduced by golangci-lint v2 migration.
woblerr Apr 7, 2026
a73157c
Bump setup-go action to v5 and go to 1.24.
woblerr Apr 7, 2026
adba8da
Remove legacy `// +build` directives.
woblerr Apr 7, 2026
2212e80
Replace deprecated io/ioutil.
woblerr Apr 7, 2026
ac8a9c6
Add ASF license header to golangci.yml.
woblerr Apr 8, 2026
749a32a
Bump VERSION to 2.2.0 for main
tuhaihe Apr 9, 2026
75f753a
CI: add smoke test for command validation (#84)
tuhaihe Apr 9, 2026
cd64c08
Docs: update installation command to use specific version tag (#89)
tuhaihe Apr 16, 2026
dcb6e40
Align release artifact naming with Apache incubator conventions
tuhaihe Apr 20, 2026
bde7635
Fix: gprestore --resize-cluster fails with --jobs > 1
my-ship-it Apr 24, 2026
0017e61
Speed up column permissions query.
woblerr Apr 27, 2026
dfbd935
gpbackman: fall back to coordinator data dir for history db, fail lou…
talmacschen2022 Apr 29, 2026
4b4912c
gpbackman: document history-db env-var fallback in COMMANDS.md and RE…
talmacschen2022 Apr 29, 2026
cec7671
gpbackman: gate history-db env-var fallback behind --auto-load-histor…
talmacschen2022 Apr 29, 2026
017b644
gpbackman: wrap non-NotExist os.Stat error with path context in OpenH…
talmacschen2022 Apr 29, 2026
022be5c
gpbackman: drop MASTER_DATA_DIRECTORY from history-db env-var fallback.
talmacschen2022 Apr 29, 2026
8fd4287
Add gpbackup_exporter — a Prometheus exporter for gpbackup history da…
woblerr May 12, 2026
da93e97
Package: extract install script generation to template file (#95)
tuhaihe May 15, 2026
0d994f6
CI: pin Cloudberry branch to `REL_2_STABLE`
tuhaihe Jun 11, 2026
d55b16c
NOTICE: add the original gpbackup NOTICE
tuhaihe Jun 11, 2026
f7f05a0
Bump Go from 1.24 to 1.25 (#99)
tuhaihe Jun 29, 2026
7944c87
Bump dependencies to fix Dependabot alerts.
woblerr Jul 15, 2026
8a28b53
Add convenience package build workflow for cloudberry-backup (#108)
tuhaihe Jul 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ github:
merge: false
# enable rebase button:
rebase: true
collaborators:
- woblerr
protected_branches:
main:
required_status_checks:
Expand Down
29 changes: 27 additions & 2 deletions .github/workflows/build_and_unit_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ jobs:
path: go/src/github.com/apache/cloudberry-backup

- name: Set up Go
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: 1.21
go-version: "1.25"

- name: Set Environment
run: |
Expand All @@ -38,6 +38,31 @@ jobs:
cd ${GOPATH}/src/github.com/apache/cloudberry-backup
make build

- name: Smoke Test
run: |
set -euo pipefail
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 "=== Testing gpbackup_exporter ==="
${GOPATH}/bin/gpbackup_exporter --version
${GOPATH}/bin/gpbackup_exporter --help > /dev/null
echo "=== All smoke tests passed ==="

- name: Unit Test
run: |
cd ${GOPATH}/src/github.com/apache/cloudberry-backup
Expand Down
72 changes: 71 additions & 1 deletion .github/workflows/cloudberry-backup-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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, package_install]

steps:
- name: Free Disk Space
Expand Down Expand Up @@ -316,6 +316,29 @@ jobs:

set +e
case "${TEST_TARGET}" in
smoke)
set -e
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 "=== Testing gpbackup_exporter ==="
${GPHOME}/bin/gpbackup_exporter --version
${GPHOME}/bin/gpbackup_exporter --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"
;;
Expand Down Expand Up @@ -454,6 +477,53 @@ jobs:
chmod +x "${CLOUDBERRY_BACKUP_SRC}/.github/workflows/scale-tests-cloudberry-ci.bash"
"${CLOUDBERRY_BACKUP_SRC}/.github/workflows/scale-tests-cloudberry-ci.bash" 2>&1 | tee "${TEST_LOG_ROOT}/cloudberry-backup-scale.log"
;;
package_install)
set -e
echo "Running package and install tests..."

# Clean up previously installed binaries
echo "=== Cleaning up existing installations ==="
for binary in gpbackup gprestore gpbackup_helper gpbackup_s3_plugin gpbackman gpbackup_exporter; do
rm -f "${GPHOME}/bin/${binary}"
done
echo "Cleanup complete"

# Create package
echo "=== Creating package ==="
make package 2>&1 | tee "${TEST_LOG_ROOT}/cloudberry-backup-package.log"

# Find and extract package
package_file=$(ls -1 build/*.tar.gz 2>/dev/null | head -n 1)
if [ -z "${package_file}" ]; then
echo "ERROR: Package file not found"
exit 1
fi
echo "Package created: ${package_file}"

tar -xzf "${package_file}"
extracted_dir=$(ls -1d apache-cloudberry-backup-incubating-*/ 2>/dev/null | head -n 1)
echo "Package extracted"
ls -lh "${extracted_dir}"

# Install using install.sh
echo "=== Installing via install.sh ==="
cd "${extracted_dir}"
chmod +x install.sh
GPHOME="${GPHOME}" ./install.sh 2>&1 | tee "${TEST_LOG_ROOT}/cloudberry-backup-install.log"

# Test installed binaries
echo "=== Testing installed binaries ==="
for binary in gpbackup gprestore gpbackup_helper gpbackup_s3_plugin gpbackman gpbackup_exporter; do
version_output=$("${GPHOME}/bin/${binary}" --version 2>&1)
if [ $? -ne 0 ]; then
echo "ERROR: ${binary} --version failed"
exit 1
fi
echo "${binary}: ${version_output}"
done

echo "=== Package and install tests passed ==="
;;
*)
echo "unknown test target: ${TEST_TARGET}"
exit 2
Expand Down
Loading
Loading