This is an automated email from the ASF dual-hosted git repository.

hanahmily pushed a commit to branch release
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git

commit 97d5e9a3485ff9a03d667c698886ee215bcc5d57
Author: Gao Hongtao <[email protected]>
AuthorDate: Thu Sep 12 09:49:42 2024 +0000

    Update release related files
    
    Signed-off-by: Gao Hongtao <[email protected]>
---
 Makefile                            |  6 ++-
 banyand/metadata/schema/property.go |  2 +-
 docs/release.md                     | 12 ++---
 pkg/index/inverted/metrics.go       |  1 +
 scripts/build/build.mk              |  2 +-
 scripts/push-release.sh             | 95 +++++++++++++++++++++++++++++++++++++
 scripts/release.sh                  | 15 ++++--
 7 files changed, 117 insertions(+), 16 deletions(-)

diff --git a/Makefile b/Makefile
index aa5449df..0d6a1747 100644
--- a/Makefile
+++ b/Makefile
@@ -186,7 +186,7 @@ RELEASE_SCRIPTS := $(mk_dir)/scripts/release.sh
 release-binary: release-source ## Package binary archive
        ${RELEASE_SCRIPTS} -b
 
-release-source: clean ## Package source archive
+release-source: ## Package source archive
        ${RELEASE_SCRIPTS} -s
 
 release-sign: ## Sign artifacts
@@ -196,7 +196,11 @@ release-sign: ## Sign artifacts
 
 release-assembly: release-binary release-sign ## Generate release package
 
+PUSH_RELEASE_SCRIPTS := $(mk_dir)/scripts/push-release.sh
 
+release-push-candidate: ## Push release candidate
+       ${PUSH_RELEASE_SCRIPTS}
+       
 .PHONY: all $(PROJECTS) clean build  default nuke
 .PHONY: lint check tidy format pre-push
 .PHONY: test test-race test-coverage test-ci
diff --git a/banyand/metadata/schema/property.go 
b/banyand/metadata/schema/property.go
index 8c72e7db..8c87ef02 100644
--- a/banyand/metadata/schema/property.go
+++ b/banyand/metadata/schema/property.go
@@ -190,7 +190,7 @@ func (e *etcdSchemaRegistry) replaceProperty(ctx 
context.Context, key string, pr
 
 func tagLen(property *propertyv1.Property) (uint32, error) {
        tagsCount := len(property.Tags)
-       if tagsCount < 0 || tagsCount > math.MaxUint32 {
+       if tagsCount < 0 || uint64(tagsCount) > math.MaxUint32 {
                return 0, errors.New("integer overflow: tags count exceeds 
uint32 range")
        }
        tagsNum := uint32(tagsCount)
diff --git a/docs/release.md b/docs/release.md
index 4201b70e..561c9696 100644
--- a/docs/release.md
+++ b/docs/release.md
@@ -29,16 +29,12 @@ The `skywalking-banyandb-${VERSION}-bin.tgz`, 
`skywalking-banyandb-${VERSION}-sr
 ## Upload to Apache svn
 
 ```shell
-svn co https://dist.apache.org/repos/dist/dev/skywalking/
-mkdir -p skywalking/banyandb/"$VERSION"
-cp skywalking-banyandb/build/skywalking-banyandb*.tgz 
skywalking/banyandb/"$VERSION"
-cp skywalking-banyandb/build/skywalking-banyandb*.tgz.asc 
skywalking/banyandb/"$VERSION"
-cp skywalking-banyandb/build/skywalking-banyandb*.tgz.sha512 
skywalking/banyandb/"$VERSION"
-
-cd skywalking/banyandb && svn add "$VERSION" && svn commit -m "Draft Apache 
SkyWalking BanyanDB release $VERSION"
+make release-push-candidate
 ```
 
-## Call for vote in dev@ mailing list
+The script will upload the source code package and binary package to the 
Apache SVN staging repository. The script will ask for your Apache ID and 
password. **You can do this only if you are a PMC member**.
+
+After the script is finished, you will get the vote mail subject and content 
based on the following template.
 
 Call for vote in `[email protected]`
 
diff --git a/pkg/index/inverted/metrics.go b/pkg/index/inverted/metrics.go
index 6816b90e..98b6d7a3 100644
--- a/pkg/index/inverted/metrics.go
+++ b/pkg/index/inverted/metrics.go
@@ -112,6 +112,7 @@ func (s *store) CollectMetrics(labelValues ...string) {
        if s.metrics == nil {
                return
        }
+       // fixme: data race here
        status := s.writer.Status()
        s.metrics.totalUpdates.Set(float64(status.TotUpdates), labelValues...)
        s.metrics.totalDeletes.Set(float64(status.TotDeletes), labelValues...)
diff --git a/scripts/build/build.mk b/scripts/build/build.mk
index 647f0a89..899dfef0 100644
--- a/scripts/build/build.mk
+++ b/scripts/build/build.mk
@@ -86,7 +86,7 @@ clean-build:  ## Clean all artifacts
 # be rebuilt again.
 $(BUILD_LOCK):
        @echo "cleaning up stale build artifacts..."
-       $(MAKE) clean
+       $(MAKE) clean-build
        mkdir -p $(BUILD_DIR)
        touch $@
 
diff --git a/scripts/push-release.sh b/scripts/push-release.sh
new file mode 100755
index 00000000..0a0ed328
--- /dev/null
+++ b/scripts/push-release.sh
@@ -0,0 +1,95 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+set -ex
+
+if [ "$VERSION" == "" ]; then
+  echo "VERSION environment variable not found, Please setting the VERSION."
+  echo "For example: export VERSION=1.0.0"
+  exit 1
+fi
+
+VERSION=${VERSION}
+TAG_NAME=v${VERSION}
+PRODUCT_NAME="skywalking-banyandb-${VERSION}"
+
+echo "Release version "${VERSION}
+echo "Source tag "${TAG_NAME}
+
+SCRIPTDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
+ROOTDIR=${SCRIPTDIR}/..
+BUILDDIR=${ROOTDIR}/build
+
+pushd ${BUILDDIR}
+trap 'popd' EXIT
+
+rm -rf skywalking
+
+svn co https://dist.apache.org/repos/dist/dev/skywalking/
+mkdir -p skywalking/banyandb/"$VERSION"
+cp ${PRODUCT_NAME}-*.tgz skywalking/banyandb/"$VERSION"
+cp ${PRODUCT_NAME}-*.tgz.asc skywalking/banyandb/"$VERSION"
+cp ${PRODUCT_NAME}-*.tgz.sha512 skywalking/banyandb/"$VERSION"
+
+cd skywalking/banyandb && svn add "$VERSION" && svn commit -m "Draft Apache 
SkyWalking BanyanDB release $VERSION"
+
+cat << EOF
+=========================================================================
+Subject: [VOTE] Release Apache SkyWalking BanyanDB version $VERSION
+
+Content:
+
+Hi the SkyWalking Community:
+This is a call for vote to release Apache SkyWalking BanyanDB version $VERSION.
+
+Release notes:
+
+ * https://github.com/apache/skywalking-banyandb/blob/v$VERSION/CHANGES.md
+
+Release Candidate:
+
+ * https://dist.apache.org/repos/dist/dev/skywalking/banyandb/$VERSION
+ * sha512 checksums
+   - $(cat ${PRODUCT_NAME}-src.tgz.sha512)
+   - $(cat ${PRODUCT_NAME}-banyand.tgz.sha512)
+   - $(cat ${PRODUCT_NAME}-bydbctl.tgz.sha512)
+
+Release Tag :
+
+ * (Git Tag) $TAG_NAME
+
+Release Commit Hash :
+
+ * https://github.com/apache/skywalking-banyandb/tree/$(git rev-list -n 1 
"$TAG_NAME")
+
+Keys to verify the Release Candidate :
+
+ * https://dist.apache.org/repos/dist/release/skywalking/KEYS
+
+Guide to build the release from source :
+
+ * 
https://github.com/apache/skywalking-banyandb/blob/v$VERSION/docs/installation/binaries.md#Build-From-Source
+
+Voting will start now and will remain open for at least 72 hours, all PMC 
members are required to give their votes.
+
+[ ] +1 Release this package.
+[ ] +0 No opinion.
+[ ] -1 Do not release this package because....
+
+Thanks.
+
+[1] 
https://github.com/apache/skywalking/blob/master/docs/en/guides/How-to-release.md#vote-check
+EOF
diff --git a/scripts/release.sh b/scripts/release.sh
index 8e16d117..ab619fa4 100755
--- a/scripts/release.sh
+++ b/scripts/release.sh
@@ -24,7 +24,8 @@ BUILDDIR=${ROOTDIR}/build
 RELEASE_TAG=$(git describe --tags $(git rev-list --tags --max-count=1))
 RELEASE_VERSION=${RELEASE_TAG#"v"}
 
-SOURCE_FILE=${BUILDDIR}/skywalking-banyandb-${RELEASE_VERSION}-src.tgz
+SOURCE_FILE_NAME=skywalking-banyandb-${RELEASE_VERSION}-src.tgz
+SOURCE_FILE=${BUILDDIR}/${SOURCE_FILE_NAME}
 
 binary(){
     if [ ! -f "${SOURCE_FILE}" ]; then
@@ -34,8 +35,9 @@ binary(){
     tmpdir=`mktemp -d`
     trap "rm -rf ${tmpdir}" EXIT
     pushd ${tmpdir}
+    trap 'popd' EXIT
     tar -xvf ${SOURCE_FILE}
-    make generate
+    make generate && make -C ui build
     TARGET_OS=linux PLATFORMS=linux/amd64,linux/arm64 make -C banyand release
     bindir=./build
     mkdir -p ${bindir}/bin
@@ -57,7 +59,6 @@ binary(){
     copy_binaries bydbctl
     # Package
     tar -czf ${BUILDDIR}/skywalking-banyandb-${RELEASE_VERSION}-bydbctl.tgz -C 
${bindir} .
-    popd
 }
 
 copy_binaries() {
@@ -73,7 +74,8 @@ copy_binaries() {
 
 source(){
     # Package
-    mkdir -p ${BUILDDIR}
+    tmpdir=`mktemp -d`
+    trap "rm -rf ${tmpdir}" EXIT
     rm -rf ${SOURCE_FILE}
     pushd ${ROOTDIR}
     echo "RELEASE_VERSION=${RELEASE_VERSION}" > .env
@@ -85,8 +87,11 @@ source(){
     --exclude=".idea" \
     --exclude=".vscode" \
     --exclude="bin" \
-    -czf ${SOURCE_FILE} \
+    -czf ${tmpdir}/${SOURCE_FILE_NAME} \
     .
+
+    mkdir -p ${BUILDDIR}
+    mv ${tmpdir}/${SOURCE_FILE_NAME} ${BUILDDIR}
     popd
 }
 

Reply via email to