[AMORO-3770] Improve the release procedure#4106
[AMORO-3770] Improve the release procedure#4106majin1102 wants to merge 3 commits intoapache:masterfrom
Conversation
This PR improves the release procedure based on feedback from 0.8.1-incubating release voting: 1. Exclude AppleDouble files (._*) from source tarball - Add --exclude '._*' and --exclude '*/._*' to rsync command - These macOS metadata files should not be in Apache releases 2. Include pre-generated git.properties in source tarball - Generate git.properties before excluding .git directory - Copy the file to tarball since target/ is excluded - This ensures version info is available when building from source 3. Build binary releases from source tarball for reproducibility - create_binary_release.sh now requires source tarball to exist - Extracts and builds from the source tarball - Ensures binary releases match the source release 4. Update release guide with correct build order and verification steps
- Add release.yml workflow for manual release builds - Support skip_gpg and skip_deploy parameters for testing - Update create_source_release.sh to support SKIP_GPG env variable
- Remove manual build commands (now handled by GitHub Actions) - Add GitHub Actions workflow usage instructions - Add secrets configuration requirements - Simplify the build release section
|
Thanks for the improvements! The changes address real Apache release compliance issues. A few things to fix/clarify: 1. cd ${CURR_DIR} # CURR_DIR is never assigned
rm -rf ${EXTRACT_DIR}This will cause 2. Missing newline at end of file 3. cp amoro-ams/target/classes/amoro/git.properties amoro-$RELEASE_VERSION/amoro-ams/target/classes/amoro/If the [ -f amoro-ams/target/classes/amoro/git.properties ] || { echo "ERROR: git.properties not generated"; exit 1; }4. Verification request |
|
Sorry, I don't have the time to verify this carefully. Give me some time |
What changes were proposed in this pull request?
This PR improves the release procedure based on feedback from 0.8.1-incubating release voting, addressing issue #3770.
Changes:
Exclude AppleDouble files from source tarball
--exclude '._*'and--exclude '*/._*'to rsync commandInclude pre-generated git.properties in source tarball
Build binary releases from source tarball for reproducibility
create_binary_release.shnow requires source tarball to exist firstUpdate release guide
Add GitHub Actions workflow for release automation
.github/workflows/release.ymlfor manual release buildsskip_gpgandskip_deployparameters for testingcreate_source_release.shto supportSKIP_GPGenv variableHow was this patch tested?
bash -nfor both scriptsskip_gpg=trueandskip_deploy=trueRelease process change
Before: Build order didn't matter (scripts were independent)
After: Must build source release first, then binary release (binary depends on source tarball)
GitHub Actions Release Workflow
Usage
release_version: Release version (e.g.,0.9.0)skip_gpg: Skip GPG signing (for testing)skip_deploy: Skip Maven deploy (for testing)Testing (without actual release)
To test the workflow without triggering an actual release:
skip_gpg: true- No GPG signing requiredskip_deploy: true- No Maven deploymentThis only builds tar.gz files and uploads to GitHub Artifacts, safe for testing in fork repositories.
Required Secrets (for production releases)
GPG_PRIVATE_KEYGPG_PASSPHRASENEXUS_USERNEXUS_PASSWORDCloses #3770