This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-graalvm-distro.git
The following commit(s) were added to refs/heads/main by this push:
new 37a2d83 Add SVN dist/dev upload step to release.sh
37a2d83 is described below
commit 37a2d839f64ef78ac232a75c48dd7a3291a748dc
Author: Wu Sheng <[email protected]>
AuthorDate: Sun Mar 15 08:11:07 2026 +0800
Add SVN dist/dev upload step to release.sh
---
release/release.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 48 insertions(+), 4 deletions(-)
diff --git a/release/release.sh b/release/release.sh
index 0d08250..2c6272d 100755
--- a/release/release.sh
+++ b/release/release.sh
@@ -42,6 +42,7 @@ What this script does:
3. Uploads darwin-arm64 tarball to GitHub Release page
4. Downloads Linux binary tarballs from GitHub Release
5. Signs all tarballs with GPG and generates SHA-512 checksums
+ 6. Uploads all artifacts to Apache SVN dist/dev for voting
Directory structure:
${RELEASE_DIR}/
@@ -78,7 +79,7 @@ TAG="v${VERSION}"
log "Pre-flight checks..."
# Check required tools
-for cmd in git gpg tar gh shasum make; do
+for cmd in git gpg tar gh shasum make svn; do
command -v "${cmd}" >/dev/null 2>&1 || error "'${cmd}' is not installed"
done
@@ -212,13 +213,57 @@ done
log "Cleaning up temporary files..."
rm -rf "${TMP_DIR}"
+# ─── Step 8: Upload to Apache SVN dist/dev ───────────────────────────────────
+SVN_DEV_BASE="https://dist.apache.org/repos/dist/dev/skywalking/graalvm-distro"
+SVN_DEV_DIR="${SVN_DEV_BASE}/${VERSION}"
+
+echo ""
+log "Uploading release artifacts to Apache SVN dist/dev..."
+echo " SVN target: ${SVN_DEV_DIR}"
+echo ""
+read -r -p "Apache SVN username (LDAP): " SVN_USER
+[[ -n "${SVN_USER}" ]] || error "SVN username is required"
+read -r -s -p "Apache SVN password: " SVN_PASS
+echo ""
+[[ -n "${SVN_PASS}" ]] || error "SVN password is required"
+
+SVN_CHECKOUT_DIR="${SCRIPT_DIR}/${RELEASE_DIR}/svn-checkout"
+mkdir -p "${SVN_CHECKOUT_DIR}"
+
+# Checkout the parent directory (sparse — just top level)
+svn checkout --depth empty "${SVN_DEV_BASE}" "${SVN_CHECKOUT_DIR}" \
+ --username "${SVN_USER}" --password "${SVN_PASS}" --non-interactive
+
+# Create version directory and add all artifacts
+mkdir -p "${SVN_CHECKOUT_DIR}/${VERSION}"
+cp "${DIST_DIR}"/* "${SVN_CHECKOUT_DIR}/${VERSION}/"
+svn add "${SVN_CHECKOUT_DIR}/${VERSION}"
+
+log "Files to upload:"
+ls -lh "${SVN_CHECKOUT_DIR}/${VERSION}/"
+
+echo ""
+read -r -p "Commit to SVN? [y/N] " svn_confirm
+[[ "${svn_confirm}" =~ ^[Yy]$ ]] || { echo "SVN upload aborted. Files remain
in ${DIST_DIR}/"; exit 0; }
+
+svn commit "${SVN_CHECKOUT_DIR}" \
+ -m "Upload Apache SkyWalking GraalVM Distro ${VERSION} for voting" \
+ --username "${SVN_USER}" --password "${SVN_PASS}" --non-interactive
+
+log "Uploaded to ${SVN_DEV_DIR}"
+
+# Clean up SVN checkout
+rm -rf "${SVN_CHECKOUT_DIR}"
+
# ─── Summary ─────────────────────────────────────────────────────────────────
echo ""
-log "Release ${VERSION} packaging complete!"
+log "Release ${VERSION} packaging and upload complete!"
echo ""
echo "Release artifacts in ${RELEASE_DIR}/dist/:"
ls -lh "${DIST_DIR}/"
echo ""
+echo "SVN dist/dev: ${SVN_DEV_DIR}"
+echo ""
echo "Verification commands:"
echo " cd ${RELEASE_DIR}/dist"
for tarball in "${DIST_DIR}"/*.tar.gz; do
@@ -228,5 +273,4 @@ for tarball in "${DIST_DIR}"/*.tar.gz; do
done
echo ""
echo "Next steps:"
-echo " 1. Upload dist/ contents to Apache SVN dist/dev for voting"
-echo " 2. Send [VOTE] email to [email protected]"
+echo " 1. Send [VOTE] email to [email protected]"