Release: add script support under macOS
This commit is used to support the release build udner macOS and enhance the developer experience for running the script.
Main changes:
- Enforce GNU tar and sha512sum usage on macOS for generating artfacts
- Clean macOS extended attributes to prevent compilation errors on Linux
- Add platform and tool validation with installation guidance
- Support RC tag validation with base version matching in source
- Add interactive confirmations and enhanced verification steps
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
- [ ] Followed contribution guide
- [ ] Added/updated documentation
- [ ] Reviewed code for security implications
- [ ] Requested review from cloudberry committers
Additional Context
CI Skip Instructions
Has cloudberrydb been verified to compile with clang++ on macOS? I am curious why it is necessary to build the release package on MacOS?
Has cloudberrydb been verified to compile with clang++ on macOS? I am curious why it is necessary to build the release package on MacOS?
Hi @jiaqizho, thanks for your question. This script is just used to archive the source code into a *.tar.gz file on macOS (For Apache release, it's only in the source form), but it is not used for building Cloudberry on macOS.
Given that most of the Cloudberry developers are using macOS, it's necessary to support release managers to deliver a source code archive file under macOS. Or else, we need to create a Linux VM or Cloud Machine to do this.
The commit message may be a little confusing. I will revise it later.