Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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: 0 additions & 2 deletions .github/release/vote-email-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ https://dist.apache.org/repos/dist/dev/incubator/texera/${VERSION}-RC${RC_NUM}/
The directory contains:
- Source tarball (.tar.gz) with GPG signature (.asc) and SHA512 checksum (.sha512)
- Docker Compose deployment bundle with GPG signature and SHA512 checksum
- Helm chart package with GPG signature and SHA512 checksum

== Container Images ==

Expand Down Expand Up @@ -54,7 +53,6 @@ The vote will be open for at least 72 hours.
[ ] Source tarball matches the Git tag
[ ] Can compile from source successfully
[ ] Docker Compose bundle deploys successfully with the published images
[ ] Helm chart deploys successfully (if applicable)

Thanks,
[Your Name]
Expand Down
73 changes: 4 additions & 69 deletions .github/workflows/create-release-candidate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ jobs:
commit_hash: ${{ steps.vars.outputs.commit_hash }}
src_tarball: ${{ steps.vars.outputs.src_tarball }}
compose_tarball: ${{ steps.vars.outputs.compose_tarball }}
helm_tarball: ${{ steps.vars.outputs.helm_tarball }}

steps:
- name: Checkout code
Expand Down Expand Up @@ -89,7 +88,6 @@ jobs:
RC_DIR="${VERSION}-RC${RC_NUM}"
SRC_TARBALL="apache-texera-${VERSION}-src.tar.gz"
COMPOSE_TARBALL="apache-texera-${VERSION}-docker-compose.tar.gz"
HELM_TARBALL="apache-texera-${VERSION}-helm.tgz"

echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "rc_num=$RC_NUM" >> $GITHUB_OUTPUT
Expand All @@ -100,7 +98,6 @@ jobs:
echo "image_registry=$IMAGE_REGISTRY" >> $GITHUB_OUTPUT
echo "src_tarball=$SRC_TARBALL" >> $GITHUB_OUTPUT
echo "compose_tarball=$COMPOSE_TARBALL" >> $GITHUB_OUTPUT
echo "helm_tarball=$HELM_TARBALL" >> $GITHUB_OUTPUT

echo "Release Candidate: $TAG_NAME"
echo "Version: $VERSION"
Expand Down Expand Up @@ -202,58 +199,6 @@ jobs:
ls -lh "$COMPOSE_TARBALL"
echo "✓ Created Docker Compose bundle: $COMPOSE_TARBALL"

- name: Create Helm chart package
run: |
VERSION="${{ steps.vars.outputs.version }}"
TAG_NAME="${{ steps.vars.outputs.tag_name }}"
COMMIT_SHORT="${{ steps.vars.outputs.commit_short }}"
IMAGE_REGISTRY="${{ steps.vars.outputs.image_registry }}"
HELM_TARBALL="${{ steps.vars.outputs.helm_tarball }}"

# Install Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

# Export the Helm chart from the tagged source
# Include sql/ because bin/k8s/files/ has symlinks to ../../../sql/
TEMP_DIR=$(mktemp -d)
git archive --format=tar "$TAG_NAME" -- bin/k8s/ sql/ | tar -x -C "$TEMP_DIR"

CHART_DIR="$TEMP_DIR/bin/k8s"

# Resolve symlinks in the chart so it packages as a self-contained artifact
find "$CHART_DIR" -type l | while read -r link; do
target=$(readlink -f "$link")
rm "$link"
cp "$target" "$link"
done

# Update Chart.yaml with release version
sed -i "s/^version:.*/version: ${VERSION}/" "$CHART_DIR/Chart.yaml"
sed -i "s/^appVersion:.*/appVersion: \"${VERSION}\"/" "$CHART_DIR/Chart.yaml"

# Update values.yaml with release image registry and tag
sed -i "s|imageRegistry:.*|imageRegistry: ${IMAGE_REGISTRY}|" "$CHART_DIR/values.yaml"
sed -i "s|imageTag:.*|imageTag: ${COMMIT_SHORT}|" "$CHART_DIR/values.yaml"

# Download chart dependencies declared in Chart.yaml
# These tarballs are .gitignored so they're not in git archive
helm dependency build "$CHART_DIR"

# Package the Helm chart
helm package "$CHART_DIR" \
--version "$VERSION" \
--app-version "$VERSION" \
--destination "$GITHUB_WORKSPACE"

# Rename to our expected artifact name
HELM_PKG=$(ls "$GITHUB_WORKSPACE"/texera-helm-*.tgz 2>/dev/null | head -1)
if [[ -n "$HELM_PKG" && "$HELM_PKG" != "$GITHUB_WORKSPACE/$HELM_TARBALL" ]]; then
mv "$HELM_PKG" "$GITHUB_WORKSPACE/$HELM_TARBALL"
fi

ls -lh "$GITHUB_WORKSPACE/$HELM_TARBALL"
echo "✓ Created Helm chart package: $HELM_TARBALL"

- name: Import GPG key
run: |
echo "${{ secrets.GPG_PRIVATE_KEY }}" | gpg --batch --import
Expand All @@ -267,8 +212,7 @@ jobs:
run: |
for artifact in \
"${{ steps.vars.outputs.src_tarball }}" \
"${{ steps.vars.outputs.compose_tarball }}" \
"${{ steps.vars.outputs.helm_tarball }}"; do
"${{ steps.vars.outputs.compose_tarball }}"; do

# GPG signature
echo "${{ secrets.GPG_PASSPHRASE }}" | gpg --batch --yes --pinentry-mode loopback --passphrase-fd 0 \
Expand Down Expand Up @@ -321,9 +265,6 @@ jobs:
${{ steps.vars.outputs.compose_tarball }}
${{ steps.vars.outputs.compose_tarball }}.asc
${{ steps.vars.outputs.compose_tarball }}.sha512
${{ steps.vars.outputs.helm_tarball }}
${{ steps.vars.outputs.helm_tarball }}.asc
${{ steps.vars.outputs.helm_tarball }}.sha512
vote-email.txt
retention-days: 7

Expand All @@ -341,12 +282,11 @@ jobs:
run: |
SRC_TARBALL="${{ needs.create-rc.outputs.src_tarball }}"
COMPOSE_TARBALL="${{ needs.create-rc.outputs.compose_tarball }}"
HELM_TARBALL="${{ needs.create-rc.outputs.helm_tarball }}"

echo "Verifying downloaded artifacts..."
ls -lh

for artifact in "$SRC_TARBALL" "$COMPOSE_TARBALL" "$HELM_TARBALL"; do
for artifact in "$SRC_TARBALL" "$COMPOSE_TARBALL"; do
if [[ ! -f "$artifact" ]] || [[ ! -f "${artifact}.asc" ]] || [[ ! -f "${artifact}.sha512" ]]; then
echo "Error: Missing artifact or signature/checksum for: $artifact"
exit 1
Expand Down Expand Up @@ -400,13 +340,12 @@ jobs:
run: |
SRC_TARBALL="${{ needs.create-rc.outputs.src_tarball }}"
COMPOSE_TARBALL="${{ needs.create-rc.outputs.compose_tarball }}"
HELM_TARBALL="${{ needs.create-rc.outputs.helm_tarball }}"
RC_DIR="${{ needs.create-rc.outputs.rc_dir }}"

cd svn-texera/"$RC_DIR"

# Copy all artifacts
for artifact in "$SRC_TARBALL" "$COMPOSE_TARBALL" "$HELM_TARBALL"; do
for artifact in "$SRC_TARBALL" "$COMPOSE_TARBALL"; do
cp "$GITHUB_WORKSPACE/$artifact" .
cp "$GITHUB_WORKSPACE/${artifact}.asc" .
cp "$GITHUB_WORKSPACE/${artifact}.sha512" .
Expand All @@ -429,7 +368,7 @@ jobs:
cd svn-texera

# Commit with descriptive message
svn commit -m "Add Apache Texera ${VERSION} RC${RC_NUM} artifacts (source + docker-compose + helm)" \
svn commit -m "Add Apache Texera ${VERSION} RC${RC_NUM} artifacts (source + docker-compose)" \
--username "${{ secrets.SVN_USERNAME }}" \
--password "${{ secrets.SVN_PASSWORD }}" \
--no-auth-cache
Expand All @@ -445,7 +384,6 @@ jobs:
COMMIT_HASH="${{ needs.create-rc.outputs.commit_hash }}"
SRC_TARBALL="${{ needs.create-rc.outputs.src_tarball }}"
COMPOSE_TARBALL="${{ needs.create-rc.outputs.compose_tarball }}"
HELM_TARBALL="${{ needs.create-rc.outputs.helm_tarball }}"

echo "## Release Candidate Created Successfully!" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
Expand All @@ -463,7 +401,6 @@ jobs:
echo "|----------|-------------|" >> $GITHUB_STEP_SUMMARY
echo "| \`${SRC_TARBALL}\` | Source code |" >> $GITHUB_STEP_SUMMARY
echo "| \`${COMPOSE_TARBALL}\` | Docker Compose deployment bundle |" >> $GITHUB_STEP_SUMMARY
echo "| \`${HELM_TARBALL}\` | Helm chart for Kubernetes deployment |" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "Each artifact has a corresponding \`.asc\` (GPG signature) and \`.sha512\` (checksum) file." >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
Expand All @@ -478,12 +415,10 @@ jobs:
echo "gpg --import KEYS" >> $GITHUB_STEP_SUMMARY
echo "gpg --verify ${SRC_TARBALL}.asc ${SRC_TARBALL}" >> $GITHUB_STEP_SUMMARY
echo "gpg --verify ${COMPOSE_TARBALL}.asc ${COMPOSE_TARBALL}" >> $GITHUB_STEP_SUMMARY
echo "gpg --verify ${HELM_TARBALL}.asc ${HELM_TARBALL}" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "# Verify SHA512 checksums" >> $GITHUB_STEP_SUMMARY
echo "sha512sum -c ${SRC_TARBALL}.sha512" >> $GITHUB_STEP_SUMMARY
echo "sha512sum -c ${COMPOSE_TARBALL}.sha512" >> $GITHUB_STEP_SUMMARY
echo "sha512sum -c ${HELM_TARBALL}.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
Expand Down
Loading