This is an automated email from the ASF dual-hosted git repository. JackieTien97 pushed a commit to branch ty/locale-zh in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 8daefa2c6a0b14b3155de2fde828c56f417eff1c Author: JackieTien97 <[email protected]> AuthorDate: Sun Jul 5 15:41:41 2026 +0800 Add zh-locale compile CI workflow Run `mvn clean test-compile -P with-zh-locale -DskipTests` on push/PR to master/rel/*/rc/* to guard the Chinese locale build, catching key-parity regressions and zh Messages class compile errors that the default EN-only CI misses. --- .github/workflows/zh-locale-compile.yml | 74 +++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/.github/workflows/zh-locale-compile.yml b/.github/workflows/zh-locale-compile.yml new file mode 100644 index 00000000000..93e264cee26 --- /dev/null +++ b/.github/workflows/zh-locale-compile.yml @@ -0,0 +1,74 @@ +# This workflow verifies that the project compiles with the Chinese (zh) locale. +# +# IoTDB uses compile-time i18n (build-helper-maven-plugin): each participating module has +# twin EN/ZH Messages classes under src/main/i18n/{en,zh}/, swapped via the i18n.locale +# property. The default CI builds compile the EN locale only. This job activates the +# `with-zh-locale` profile (i18n.locale=zh) so the ZH source roots are compiled across +# the whole reactor, catching: +# - constants present in EN but missing in ZH (key-parity regressions), +# - constants present in ZH but not referenced / removed from EN, +# - format-specifier or type errors in the ZH Message classes, +# - source files that reference a constant only defined under the EN root. + +name: ZH-Locale-Compile + +on: + push: + branches: + - master + - "rel/*" + - "rc/*" + paths-ignore: + - "docs/**" + - "site/**" + - "iotdb-client/client-cpp/**" + - ".github/workflows/client-cpp-package.yml" + - ".github/scripts/package-client-cpp-*.sh" + - ".github/workflows/multi-language-client.yml" + pull_request: + branches: + - master + - "rel/*" + - "rc/*" + - "force_ci/**" + paths-ignore: + - "docs/**" + - "site/**" + - "iotdb-client/client-cpp/**" + - ".github/workflows/client-cpp-package.yml" + - ".github/scripts/package-client-cpp-*.sh" + - ".github/workflows/multi-language-client.yml" + # allow manually run the action: + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + MAVEN_OPTS: -Xms2g -Xmx4g -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.class=standard -Dmaven.wagon.http.retryHandler.count=3 + MAVEN_ARGS: --batch-mode --no-transfer-progress + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} + +jobs: + zh-locale-compile: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v5 + - name: Set up JDK 17 + uses: actions/setup-java@v5 + with: + distribution: corretto + java-version: 17 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Cache Maven packages + uses: actions/cache@v5 + with: + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-m2- + - name: Compile with ZH locale + shell: bash + run: mvn clean test-compile -P with-zh-locale -DskipTests
