From 89c7b0429d7840c729730b0d07fa3566ba9a38e7 Mon Sep 17 00:00:00 2001 From: Yuliia Ziubrytska Date: Tue, 28 Apr 2026 10:50:48 +0100 Subject: [PATCH 01/12] Bump protobuf library and grpc version --- build.gradle | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index b04f81d..ec0e0a5 100644 --- a/build.gradle +++ b/build.gradle @@ -44,11 +44,12 @@ tasks.withType(Javadoc).configureEach { options.addStringOption('Xdoclint:none', '-quiet') } -def grpcVersion = '1.54.1' -def protobufVersion = '3.21.12' +def grpcVersion = '1.62.2' +def protobufVersion = '3.25.6' def protocVersion = protobufVersion dependencies { + implementation "com.google.protobuf:protobuf-java:${protobufVersion}" implementation "io.grpc:grpc-protobuf:${grpcVersion}" implementation "io.grpc:grpc-stub:${grpcVersion}" implementation 'javax.annotation:javax.annotation-api:1.3.2' From 804bd09321e302280b67fe95bf5378304f296065 Mon Sep 17 00:00:00 2001 From: Yuliia Ziubrytska Date: Tue, 28 Apr 2026 18:36:15 +0100 Subject: [PATCH 02/12] Update protobuf/grpc versions to the latest compatible --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index ec0e0a5..9341872 100644 --- a/build.gradle +++ b/build.gradle @@ -44,8 +44,8 @@ tasks.withType(Javadoc).configureEach { options.addStringOption('Xdoclint:none', '-quiet') } -def grpcVersion = '1.62.2' -def protobufVersion = '3.25.6' +def grpcVersion = '1.79.0' +def protobufVersion = '3.25.9' def protocVersion = protobufVersion dependencies { From e1d2722cbce743123389ea303c1465783ebb12d6 Mon Sep 17 00:00:00 2001 From: Yuliia Ziubrytska Date: Tue, 28 Apr 2026 18:53:04 +0100 Subject: [PATCH 03/12] Update gradle tag to fix the build --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index b04d23b..f941e99 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version=1.35.8-1 +version=1.35.8-2 org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 From 3f3d8ead19ff3a5b788be4418c4aaa4455ff39ec Mon Sep 17 00:00:00 2001 From: Yuliia Ziubrytska Date: Tue, 28 Apr 2026 19:08:09 +0100 Subject: [PATCH 04/12] Update build script to fail with a clear error if the tag exists already --- build.gradle | 2 +- gradle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 9341872..a7e6ce8 100644 --- a/build.gradle +++ b/build.gradle @@ -164,7 +164,7 @@ task tagRelease { grgit.push(refsOrSpecs: ["v$version"]) } catch (RefAlreadyExistsException ignored) { - logger.warn("Tag v$version already exists.") + throw new GradleException("Tag v$version already exists. Bump the version in gradle.properties before tagging again.") } } } diff --git a/gradle.properties b/gradle.properties index f941e99..b04d23b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version=1.35.8-2 +version=1.35.8-1 org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 From 02601e08c741358df57f2e40fb23aa560e051025 Mon Sep 17 00:00:00 2001 From: Yuliia Ziubrytska Date: Tue, 28 Apr 2026 19:16:38 +0100 Subject: [PATCH 05/12] Add a step to the flow to validate the tag version --- .github/workflows/build.yml | 13 +++++++++++++ build.gradle | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 980370d..e5be7f6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,6 +22,19 @@ jobs: run: apt-get update && apt-get install -y git - name: Checkout repository uses: actions/checkout@v4 + - name: "Validate version tag doesn't exist" + run: | + VERSION=$(grep '^version=' gradle.properties | cut -d'=' -f2) + TAG="v${VERSION}" + if git ls-remote --tags origin | grep -q "refs/tags/${TAG}$"; then + echo "=============================================" + echo "ERROR: Tag ${TAG} already exists!" + echo "" + echo "Please bump the version in gradle.properties" + echo "=============================================" + exit 1 + fi + echo "✓ Version ${VERSION} is valid (tag ${TAG} does not exist yet)" - name: "Gradle cache" uses: actions/cache@v4 with: diff --git a/build.gradle b/build.gradle index a7e6ce8..9341872 100644 --- a/build.gradle +++ b/build.gradle @@ -164,7 +164,7 @@ task tagRelease { grgit.push(refsOrSpecs: ["v$version"]) } catch (RefAlreadyExistsException ignored) { - throw new GradleException("Tag v$version already exists. Bump the version in gradle.properties before tagging again.") + logger.warn("Tag v$version already exists.") } } } From b7f231ec5c79c513421effc2b2e55cff75a72fbd Mon Sep 17 00:00:00 2001 From: Yuliia Ziubrytska Date: Wed, 29 Apr 2026 13:38:27 +0100 Subject: [PATCH 06/12] Fetch the tags --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e5be7f6..fb14629 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,6 +22,8 @@ jobs: run: apt-get update && apt-get install -y git - name: Checkout repository uses: actions/checkout@v4 + with: + fetch-tags: true - name: "Validate version tag doesn't exist" run: | VERSION=$(grep '^version=' gradle.properties | cut -d'=' -f2) From 8b1ba83c996a0dc754363c6aa86861baaef06348 Mon Sep 17 00:00:00 2001 From: Yuliia Ziubrytska Date: Wed, 29 Apr 2026 18:25:53 +0100 Subject: [PATCH 07/12] Fix repo url --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fb14629..fbfc75a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,7 +28,8 @@ jobs: run: | VERSION=$(grep '^version=' gradle.properties | cut -d'=' -f2) TAG="v${VERSION}" - if git ls-remote --tags origin | grep -q "refs/tags/${TAG}$"; then + REPO_URL="https://github.com/${{ github.repository }}" + if git ls-remote --tags "${REPO_URL}" | grep -q "refs/tags/${TAG}$"; then echo "=============================================" echo "ERROR: Tag ${TAG} already exists!" echo "" From 5a8b5e4b6830a5b55a938a7c079f45b3e0911a2b Mon Sep 17 00:00:00 2001 From: Yuliia Ziubrytska Date: Wed, 29 Apr 2026 18:30:21 +0100 Subject: [PATCH 08/12] Bump tag --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index b04d23b..f941e99 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version=1.35.8-1 +version=1.35.8-2 org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 From 14ab562ef70faf2eecaf1a55fcddb1469948e965 Mon Sep 17 00:00:00 2001 From: Yuliia Ziubrytska Date: Wed, 29 Apr 2026 19:08:44 +0100 Subject: [PATCH 09/12] Add a gradle task to validate tag version --- .github/workflows/build.yml | 14 +------------- build.gradle | 18 ++++++++++++++++++ gradle.properties | 2 +- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fbfc75a..362bfa1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,19 +25,7 @@ jobs: with: fetch-tags: true - name: "Validate version tag doesn't exist" - run: | - VERSION=$(grep '^version=' gradle.properties | cut -d'=' -f2) - TAG="v${VERSION}" - REPO_URL="https://github.com/${{ github.repository }}" - if git ls-remote --tags "${REPO_URL}" | grep -q "refs/tags/${TAG}$"; then - echo "=============================================" - echo "ERROR: Tag ${TAG} already exists!" - echo "" - echo "Please bump the version in gradle.properties" - echo "=============================================" - exit 1 - fi - echo "✓ Version ${VERSION} is valid (tag ${TAG} does not exist yet)" + run: GRADLE_USER_HOME=$HOME/.gradle ./gradlew validateVersion --console=plain --no-daemon - name: "Gradle cache" uses: actions/cache@v4 with: diff --git a/build.gradle b/build.gradle index 9341872..c1969f9 100644 --- a/build.gradle +++ b/build.gradle @@ -168,3 +168,21 @@ task tagRelease { } } } + +task validateVersion { + doLast { + def tagName = "v$version" + def remoteTags = grgit.lsremote(tags: true).keySet().collect { it.toString() } + def remoteHasTag = remoteTags.any { it.endsWith("/${tagName}") || it == tagName } + if (remoteHasTag) { + throw new GradleException(""" + |============================================= + | ERROR: Tag ${tagName} already exists! + | + | Please bump the version in gradle.properties + |============================================= + """.stripMargin()) + } + logger.lifecycle("✓ Version ${version} is valid (tag ${tagName} does not exist yet)") + } +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index f941e99..b04d23b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version=1.35.8-2 +version=1.35.8-1 org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 From b996c469b8c75590c111c41bb7448eb9846e6dd3 Mon Sep 17 00:00:00 2001 From: Yuliia Ziubrytska Date: Wed, 29 Apr 2026 19:13:23 +0100 Subject: [PATCH 10/12] Update script --- build.gradle | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index c1969f9..998e744 100644 --- a/build.gradle +++ b/build.gradle @@ -172,16 +172,13 @@ task tagRelease { task validateVersion { doLast { def tagName = "v$version" - def remoteTags = grgit.lsremote(tags: true).keySet().collect { it.toString() } - def remoteHasTag = remoteTags.any { it.endsWith("/${tagName}") || it == tagName } + def remoteTags = grgit.lsremote(tags: true) + + def refName = "refs/tags/${tagName}" + def remoteHasTag = remoteTags.keySet().any { ref -> ref.fullName == refName } + if (remoteHasTag) { - throw new GradleException(""" - |============================================= - | ERROR: Tag ${tagName} already exists! - | - | Please bump the version in gradle.properties - |============================================= - """.stripMargin()) + throw new GradleException("Tag ${tagName} already exists. Bump the version in gradle.properties.") } logger.lifecycle("✓ Version ${version} is valid (tag ${tagName} does not exist yet)") } From a2acdd139e7f472fe5240e388a626aee9c1063d9 Mon Sep 17 00:00:00 2001 From: Yuliia Ziubrytska Date: Wed, 29 Apr 2026 19:15:12 +0100 Subject: [PATCH 11/12] Remove obsolete directive --- .github/workflows/build.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 362bfa1..3de56df 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,8 +22,6 @@ jobs: run: apt-get update && apt-get install -y git - name: Checkout repository uses: actions/checkout@v4 - with: - fetch-tags: true - name: "Validate version tag doesn't exist" run: GRADLE_USER_HOME=$HOME/.gradle ./gradlew validateVersion --console=plain --no-daemon - name: "Gradle cache" From f1fd36c43d08c2276d0f12080f37f85a635ac0ff Mon Sep 17 00:00:00 2001 From: Yuliia Ziubrytska Date: Wed, 29 Apr 2026 19:16:40 +0100 Subject: [PATCH 12/12] Update gradle.properties --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index b04d23b..f941e99 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version=1.35.8-1 +version=1.35.8-2 org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8