This is an automated email from the ASF dual-hosted git repository.
funky-eyes pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/incubator-seata.git
The following commit(s) were added to refs/heads/2.x by this push:
new 41694e140b optimize: add JDK 25 RISC-V build (#8214)
41694e140b is described below
commit 41694e140b40894aa3aae4cfe6ecffed9b321a36
Author: funkye <[email protected]>
AuthorDate: Wed Sep 2 22:57:58 2026 +0800
optimize: add JDK 25 RISC-V build (#8214)
---
.github/workflows/riscv64.yml | 102 ++++++++++++++++++++++++++++++++++++++++++
changes/en-us/2.x.md | 1 +
changes/zh-cn/2.x.md | 1 +
3 files changed, 104 insertions(+)
diff --git a/.github/workflows/riscv64.yml b/.github/workflows/riscv64.yml
new file mode 100644
index 0000000000..f77336bc9e
--- /dev/null
+++ b/.github/workflows/riscv64.yml
@@ -0,0 +1,102 @@
+#
+# 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.
+#
+name: "RISC-V64 JDK 25 Build"
+
+on:
+ push:
+ branches: [ 2.x, develop, master ]
+ pull_request:
+ branches: [ 2.x, develop, master ]
+ types: [opened, reopened, synchronize]
+ paths-ignore:
+ - '**.md'
+
+permissions:
+ contents: read
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number ||
github.ref }}
+ cancel-in-progress: ${{ github.event_name == 'pull_request' }}
+
+jobs:
+ build_riscv64-binary:
+ name: "build for RISC-V64 with JDK 25"
+ runs-on: ubuntu-latest
+ if: ${{ github.event_name == 'push' && (github.ref_name == 'develop' ||
github.ref_name == 'master' || github.ref_name == '2.x') }}
+ steps:
+ - name: "Checkout"
+ uses: actions/checkout@v4
+
+ - name: "Set up QEMU for RISC-V64"
+ uses:
docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
+ with:
+ platforms: riscv64
+
+ - name: "Restore local maven repository cache for RISC-V64"
+ uses: actions/cache/restore@v4
+ id: cache-maven-repository-riscv64
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-riscv64-maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-riscv64-maven-
+
+ - name: "Build with Maven and JDK 25 on RISC-V64 (Skip tests)"
+ run: |
+ mkdir -p "$HOME/.m2/repository"
+ docker run --rm \
+ --platform linux/riscv64 \
+ --volume "$GITHUB_WORKSPACE:/workspace" \
+ --volume "$HOME/.m2/repository:/root/.m2/repository" \
+ --workdir /workspace \
+ riscv64/ubuntu:24.04 \
+ bash -euxo pipefail -c '
+ apt-get update
+ apt-get install -y --no-install-recommends \
+ openjdk-25-jdk-headless \
+ ca-certificates \
+ curl \
+ protobuf-compiler \
+ protobuf-compiler-grpc-java-plugin
+ rm -rf /var/lib/apt/lists/*
+
+ test "$(uname -m)" = "riscv64"
+ test -x /usr/bin/protoc
+ test -x /usr/bin/grpc_java_plugin
+ uname -a
+ java -version
+ java -XshowSettings:properties -version 2>&1 | grep "os.arch =
riscv64"
+ protoc --version
+ ./mvnw -version
+
+ ./mvnw -T 2 clean install \
+ -Prelease-seata \
+ -DskipTests \
+ -Dskip.installnodenpm=true \
+ -Dskip.npm=true \
+ -Dos-maven-plugin.version=1.7.1 \
+ -DprotocExecutable=/usr/bin/protoc \
+ -DprotocPluginExecutable=/usr/bin/grpc_java_plugin \
+ -e -B
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+ '
+
+ - name: "Save local maven repository cache for RISC-V64"
+ uses: actions/cache/save@v4
+ if: steps.cache-maven-repository-riscv64.outputs.cache-hit != 'true'
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-riscv64-maven-${{ hashFiles('**/pom.xml') }}
diff --git a/changes/en-us/2.x.md b/changes/en-us/2.x.md
index 162978044e..5d5cf78e85 100644
--- a/changes/en-us/2.x.md
+++ b/changes/en-us/2.x.md
@@ -42,6 +42,7 @@ Add changes here for all PR submitted to the 2.x branch.
- [[#8054](https://github.com/apache/incubator-seata/pull/8054)]
console/namingserver modules: spring-boot upgrade to 4.0.6
- [[#8137](https://github.com/apache/incubator-seata/pull/8137)] server
modules: spring-boot upgrade to 4.0.6
- [[#8207](https://github.com/apache/incubator-seata/pull/8207)] exclude
frontend Node runtime from seata-console sources jar
+- [[#8214](https://github.com/apache/incubator-seata/pull/8214)] add JDK 25
RISC-V64 build support
### security:
diff --git a/changes/zh-cn/2.x.md b/changes/zh-cn/2.x.md
index 210ec5ea99..53442d4b7d 100644
--- a/changes/zh-cn/2.x.md
+++ b/changes/zh-cn/2.x.md
@@ -42,6 +42,7 @@
- [[#8054](https://github.com/apache/incubator-seata/pull/8054)]
console/namingserver 模块: spring-boot 升级到 4.0.6
- [[#8137](https://github.com/apache/incubator-seata/pull/8137)] server 模块:
spring-boot 升级到 4.0.6
- [[#8207](https://github.com/apache/incubator-seata/pull/8207)] 排除前端 Node
运行时目录,减小 seata-console sources jar 体积
+- [[#8214](https://github.com/apache/incubator-seata/pull/8214)] 增加 JDK 25
RISC-V64 构建支持
### security:
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]