This is an automated email from the ASF dual-hosted git repository.
jiadongb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/texera.git
The following commit(s) were added to refs/heads/main by this push:
new 7048ce340a chore: update release workflow to comply with Apache
release practice (#4128)
7048ce340a is described below
commit 7048ce340a2557ff3810206c8583c3e775972746
Author: Jiadong Bai <[email protected]>
AuthorDate: Tue Feb 10 01:25:47 2026 -0800
chore: update release workflow to comply with Apache release practice
(#4128)
### What changes were proposed in this PR?
Update release candidate workflow and vote email template based on
Apache mentor feedback:
1. **KEYS URL**: Changed to
`https://downloads.apache.org/incubator/texera/KEYS` (official location,
auto-synced from release)
2. **Tarball naming**: Removed 'rc' suffix from filename
(`apache-texera-X.Y.Z-incubating-src.tar.gz`). RC number remains in
directory name.
3. **Vote email**: Simplified verification instructions (removed wget
commands), added convenience binaries section
### Any related issues, documentation, discussions?
Fixes #4127
### How was this PR tested?
Template and workflow changes reviewed manually.
### Was this PR authored or co-authored using generative AI tooling?
Co-authered with Claude Code (Claude Opus 4.5)
---------
Co-authored-by: Claude Opus 4.5 <[email protected]>
---
.github/release/vote-email-template.md | 64 +++++---------------------
.github/workflows/create-release-candidate.yml | 23 +++++----
2 files changed, 23 insertions(+), 64 deletions(-)
diff --git a/.github/release/vote-email-template.md
b/.github/release/vote-email-template.md
index 8fd6cd471f..c9a8d7713c 100644
--- a/.github/release/vote-email-template.md
+++ b/.github/release/vote-email-template.md
@@ -6,73 +6,33 @@ This is a call for vote to release Apache Texera (incubating)
${VERSION}.
== Release Candidate Artifacts ==
-The release candidate artifacts can be found at:
-https://dist.apache.org/repos/dist/dev/incubator/texera/${RC_DIR}/
+https://dist.apache.org/repos/dist/dev/incubator/texera/${VERSION}-RC${RC_NUM}/
-The artifacts include:
-- apache-texera-${VERSION}-rc${RC_NUM}-src.tar.gz (source tarball)
-- apache-texera-${VERSION}-rc${RC_NUM}-src.tar.gz.asc (GPG signature)
-- apache-texera-${VERSION}-rc${RC_NUM}-src.tar.gz.sha512 (SHA512 checksum)
+The directory contains:
+- Source tarball (.tar.gz)
+- GPG signature (.asc)
+- SHA512 checksum (.sha512)
== Git Tag ==
-The Git tag for this release candidate:
-https://github.com/apache/incubator-texera/releases/tag/${TAG_NAME}
-
-The commit hash for this tag:
-${COMMIT_HASH}
-
-== Release Notes ==
-
-Release notes can be found at:
-https://github.com/apache/incubator-texera/releases/tag/${TAG_NAME}
+https://github.com/apache/texera/releases/tag/${TAG_NAME}
+Commit: ${COMMIT_HASH}
== Keys ==
-The artifacts have been signed with Key [${GPG_KEY_ID}], corresponding to
[${GPG_EMAIL}].
-
-The KEYS file containing the public keys can be found at:
-https://dist.apache.org/repos/dist/dev/incubator/texera/KEYS
-
-== How to Verify ==
-
-1. Download the release artifacts:
-
- wget
https://dist.apache.org/repos/dist/dev/incubator/texera/${RC_DIR}/apache-texera-${VERSION}-rc${RC_NUM}-src.tar.gz
- wget
https://dist.apache.org/repos/dist/dev/incubator/texera/${RC_DIR}/apache-texera-${VERSION}-rc${RC_NUM}-src.tar.gz.asc
- wget
https://dist.apache.org/repos/dist/dev/incubator/texera/${RC_DIR}/apache-texera-${VERSION}-rc${RC_NUM}-src.tar.gz.sha512
-
-2. Import the KEYS file and verify the GPG signature:
+The release was signed with GPG key [${GPG_KEY_ID}] (${GPG_EMAIL})
+KEYS file: https://downloads.apache.org/incubator/texera/KEYS
- wget https://dist.apache.org/repos/dist/dev/incubator/texera/KEYS
- gpg --import KEYS
- gpg --verify apache-texera-${VERSION}-rc${RC_NUM}-src.tar.gz.asc
apache-texera-${VERSION}-rc${RC_NUM}-src.tar.gz
-
-3. Verify the SHA512 checksum:
-
- sha512sum -c apache-texera-${VERSION}-rc${RC_NUM}-src.tar.gz.sha512
-
-4. Extract and build from source:
-
- tar -xzf apache-texera-${VERSION}-rc${RC_NUM}-src.tar.gz
- cd apache-texera-${VERSION}-rc${RC_NUM}-src
- # Follow build instructions in README
-
-== How to Vote ==
+== Vote ==
The vote will be open for at least 72 hours.
-Please vote accordingly:
-
[ ] +1 Approve the release
[ ] 0 No opinion
[ ] -1 Disapprove the release (please provide the reason)
-== Checklist for Reference ==
-
-When reviewing, please check:
+== Checklist ==
-[ ] Download links are valid
[ ] Checksums and PGP signatures are valid
[ ] LICENSE and NOTICE files are correct
[ ] All files have ASF license headers where appropriate
@@ -82,4 +42,4 @@ When reviewing, please check:
Thanks,
[Your Name]
-Apache Texera (incubating) PPMC
+Apache Texera (incubating) PPMC
\ No newline at end of file
diff --git a/.github/workflows/create-release-candidate.yml
b/.github/workflows/create-release-candidate.yml
index 719dc10f58..8ed4849b41 100644
--- a/.github/workflows/create-release-candidate.yml
+++ b/.github/workflows/create-release-candidate.yml
@@ -76,7 +76,7 @@ jobs:
fi
RC_DIR="${VERSION}-RC${RC_NUM}"
- TARBALL_NAME="apache-texera-${VERSION}-rc${RC_NUM}-src.tar.gz"
+ TARBALL_NAME="apache-texera-${VERSION}-src.tar.gz"
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "rc_num=$RC_NUM" >> $GITHUB_OUTPUT
@@ -95,20 +95,19 @@ jobs:
TAG_NAME="${{ steps.vars.outputs.tag_name }}"
TARBALL_NAME="${{ steps.vars.outputs.tarball_name }}"
VERSION="${{ steps.vars.outputs.version }}"
- RC_NUM="${{ steps.vars.outputs.rc_num }}"
# Create a temporary directory for the archive
TEMP_DIR=$(mktemp -d)
- ARCHIVE_DIR="$TEMP_DIR/apache-texera-${VERSION}-rc${RC_NUM}-src"
+ ARCHIVE_DIR="$TEMP_DIR/apache-texera-${VERSION}-src"
echo "Creating source archive in $ARCHIVE_DIR"
# Export the git repository at the tag
- git archive --format=tar
--prefix="apache-texera-${VERSION}-rc${RC_NUM}-src/" "$TAG_NAME" | tar -x -C
"$TEMP_DIR"
+ git archive --format=tar --prefix="apache-texera-${VERSION}-src/"
"$TAG_NAME" | tar -x -C "$TEMP_DIR"
# Create tarball
cd "$TEMP_DIR"
- tar -czf "$GITHUB_WORKSPACE/$TARBALL_NAME"
"apache-texera-${VERSION}-rc${RC_NUM}-src"
+ tar -czf "$GITHUB_WORKSPACE/$TARBALL_NAME"
"apache-texera-${VERSION}-src"
cd "$GITHUB_WORKSPACE"
@@ -313,19 +312,19 @@ jobs:
echo " - Tag: https://github.com/${{ github.repository
}}/releases/tag/${TAG_NAME}" >> $GITHUB_STEP_SUMMARY
echo " - Artifacts:
https://dist.apache.org/repos/dist/dev/incubator/texera/${RC_DIR}/" >>
$GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
- echo "### Verification Commands" >> $GITHUB_STEP_SUMMARY
+ echo "### Verification" >> $GITHUB_STEP_SUMMARY
+ echo "" >> $GITHUB_STEP_SUMMARY
+ echo "Download artifacts from the staging directory and verify:" >>
$GITHUB_STEP_SUMMARY
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
- echo "# Download and verify signature" >> $GITHUB_STEP_SUMMARY
- echo "wget
https://dist.apache.org/repos/dist/dev/incubator/texera/${RC_DIR}/${TARBALL_NAME}"
>> $GITHUB_STEP_SUMMARY
- echo "wget
https://dist.apache.org/repos/dist/dev/incubator/texera/${RC_DIR}/${TARBALL_NAME}.asc"
>> $GITHUB_STEP_SUMMARY
- echo "wget
https://dist.apache.org/repos/dist/release/incubator/texera/KEYS" >>
$GITHUB_STEP_SUMMARY
+ echo "# Import KEYS and verify signature" >> $GITHUB_STEP_SUMMARY
echo "gpg --import KEYS" >> $GITHUB_STEP_SUMMARY
echo "gpg --verify ${TARBALL_NAME}.asc ${TARBALL_NAME}" >>
$GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
- echo "# Verify SHA512" >> $GITHUB_STEP_SUMMARY
- echo "wget
https://dist.apache.org/repos/dist/dev/incubator/texera/${RC_DIR}/${TARBALL_NAME}.sha512"
>> $GITHUB_STEP_SUMMARY
+ echo "# Verify SHA512 checksum" >> $GITHUB_STEP_SUMMARY
echo "sha512sum -c ${TARBALL_NAME}.sha512" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
+ echo "" >> $GITHUB_STEP_SUMMARY
+ echo "**KEYS file:**
https://downloads.apache.org/incubator/texera/KEYS" >> $GITHUB_STEP_SUMMARY
echo "✓ Release candidate workflow completed successfully!"