Skip to content

Conversation

@tuhaihe
Copy link
Member

@tuhaihe tuhaihe commented Jan 8, 2026

  1. Use test_binary_swap.sh for testing
  2. Integrate with parallel builds in workflow
  3. Update terminology (Master -> Coordinator)
  4. Add build script injection for compatibility

Fixes #ISSUE_Number

What does this PR do?

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

Test Plan

  • Unit tests added/updated
  • Integration tests added/updated
  • Passed make installcheck
  • Passed make -C src/test installcheck-cbdb-parallel

Impact

Performance:

User-facing changes:

Dependencies:

Checklist

Additional Context

CI Skip Instructions


@tuhaihe tuhaihe force-pushed the binary-swap-ci-rel2-clean branch from df3d64c to 8cac6b5 Compare January 8, 2026 10:12
Copy link
Contributor

@leborchuk leborchuk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, amazing work! No doubt! I made some comments. They are optional. I just do not understand all the nuances and asked for more details.

- name: Checkout Baseline Code
uses: actions/checkout@v4
with:
ref: ${{ needs.resolve-baseline.outputs.baseline_version }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, if it's the baseline version and has a tag. Maybe the RPM has already been uploaded and we don't need to build it again?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now we don't have the RPM package for release 2.0 yet. So we need to create it when running the tests.

steps:
- name: Free Disk Space
run: |
echo "=== Disk space before cleanup ==="
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's place all the commands below in the devops directory and reuse the script in every place where we need to clear the host data. (Since we already use it in build-cloudberry.yml, it can be done in a separate PR.)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No problem. Will create a new PR to update it.


CREATE TABLE sales_partition_heap_part3
PARTITION OF sales_partition_heap
FOR VALUES IN ('Processing');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we also check if AO/AOCO tables work as expected?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NP. Let me see how to add these tests to the workflow.

@tuhaihe tuhaihe force-pushed the binary-swap-ci-rel2-clean branch 3 times, most recently from cc181b0 to ababd95 Compare January 10, 2026 11:18
Add comprehensive binary swap CI testing for REL_2_STABLE branch:
1. Update test_binary_swap.sh script for testing
2. Integrate with parallel build workflows
3. Add the upgrading_compatibility for robust testing
@tuhaihe tuhaihe force-pushed the binary-swap-ci-rel2-clean branch from a6cbe5a to 4e80654 Compare January 11, 2026 14:16
@tuhaihe
Copy link
Member Author

tuhaihe commented Jan 12, 2026

Binary Swap Testing Overview

This PR enhances the binary swap testing infrastructure that validates Cloudberry version compatibility.

Core Mechanism: Uses test_binary_swap.sh to orchestrate switching between Cloudberry versions and verify data integrity.

Key Improvements: Strengthened the upgrading_compatibility test suite with:

  • Enhanced table schema persistence validation
  • Improved data integrity checks across storage formats (Heap, AO, AOCO)
  • Comprehensive DML operation testing
  • Robust database health verification

This ensures safe version upgrades/downgrades while maintaining full functionality.

@tuhaihe
Copy link
Member Author

tuhaihe commented Jan 12, 2026

Hi @leborchuk @my-ship-it @congxuebin @edespino guys, could you help review this PR again? Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants