diff --git a/.asf.yaml b/.asf.yaml index 26502eada..1c1831483 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -40,6 +40,7 @@ github: dismiss_stale_reviews: false required_approving_review_count: 1 required_linear_history: true + required_conversation_resolution: true release-v4.0: {} # release branch for 4.0.x-incubating features: issues: true diff --git a/release/release.sh b/release/release.sh index 9fa5dc635..8d0815f4a 100755 --- a/release/release.sh +++ b/release/release.sh @@ -168,25 +168,31 @@ done echo "Signing artifacts..." bash "${SCRIPT_DIR}/sign-artifacts.sh" "$WORKDIR" -if [ "$UPLOAD" = true ]; then - UPLOAD_DIR="${REVISION}" - if [[ -n "$RC_NUMBER" ]]; then - UPLOAD_DIR="${REVISION}-RC${RC_NUMBER}" - fi - SVN_TMP=$(mktemp -d) - svn checkout "$ASF_SVN_DEV_URL" "$SVN_TMP" - mkdir -p "$SVN_TMP/${UPLOAD_DIR}" - for f in "$WORKDIR"/*; do - if [[ -f "$f" ]]; then - cp "$f" "$SVN_TMP/${UPLOAD_DIR}/" + if [ "$UPLOAD" = true ]; then + UPLOAD_DIR="${REVISION}" + if [[ -n "$RC_NUMBER" ]]; then + UPLOAD_DIR="${REVISION}-RC${RC_NUMBER}" + fi + SVN_TMP=$(mktemp -d) + cd "$SVN_TMP" + svn checkout --depth empty "$ASF_SVN_DEV_URL" "$SVN_TMP" + if svn ls "${ASF_SVN_DEV_URL}/${UPLOAD_DIR}" >/dev/null 2>&1; then + svn update --set-depth infinity "${UPLOAD_DIR}" + svn rm --force "${UPLOAD_DIR}" + else + svn mkdir "${UPLOAD_DIR}" fi - done - cd "$SVN_TMP" - svn add --force "${UPLOAD_DIR}" - svn status - if [ "$USERNAME" = "" ]; then - svn commit -m "Add release ${UPLOAD_DIR}" || exit - else + mkdir -p "${UPLOAD_DIR}" + for f in "$WORKDIR"/*; do + if [[ -f "$f" ]]; then + cp "$f" "${UPLOAD_DIR}/" + fi + done + svn add --force "${UPLOAD_DIR}" + svn status + if [ "$USERNAME" = "" ]; then + svn commit -m "Add release ${UPLOAD_DIR}" || exit + else svn commit -m "Add release ${UPLOAD_DIR}" --username "${USERNAME}" --password "${PASSWORD}" || exit fi echo "Artifacts uploaded to SVN dev: ${UPLOAD_DIR}"