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

tballison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/main by this push:
     new c5c2437f37 TIKA-4920: keep random test locales off in CI for now 
(#3307)
c5c2437f37 is described below

commit c5c2437f37730dec004f6f1c97d031f0de2c3bb4
Author: Tim Allison <[email protected]>
AuthorDate: Tue Oct 6 19:03:57 2026 -0400

    TIKA-4920: keep random test locales off in CI for now (#3307)
---
 .github/workflows/main-jdk17-build.yml         |  5 +++--
 .github/workflows/main-jdk17-windows-build.yml |  5 +++--
 .skills/devs/development/SKILL.md              | 10 ++++++----
 tika-parent/pom.xml                            |  2 +-
 4 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/.github/workflows/main-jdk17-build.yml 
b/.github/workflows/main-jdk17-build.yml
index 033a5b6888..05a9447e33 100644
--- a/.github/workflows/main-jdk17-build.yml
+++ b/.github/workflows/main-jdk17-build.yml
@@ -96,11 +96,12 @@ jobs:
       # javadoc:aggregate is push-only: it is an aggregate-docs artifact, is
       # single-threaded, and javadoc breakage is caught on main within the 
hour;
       # PR pushes should not wait on it.
+      # Random test locales (-Dtika.test.locale=random, RandomLocaleListener) 
stay off
+      # in CI until the remaining locale-dependent tests are fixed (TIKA-4920).
       - name: Build with Maven
         run: |
           mvn install -Pfast -pl :tika-annotation-processor -am -B -q
           mvn clean test install ${{ github.event_name == 'push' && 
'javadoc:aggregate' || '' }} -Pci -T1C \
-            -Dtika.test.locale=random \
             -pl "$(echo "$IT_MODULES" | sed 's/:/!:/g')" \
             -B 
"-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
 
@@ -141,7 +142,7 @@ jobs:
       # so without this they would drop out of license checking entirely.
       - name: Run integration tests
         run: |
-          mvn clean apache-rat:check test -Pci -Dtika.test.locale=random \
+          mvn clean apache-rat:check test -Pci \
             -pl "$IT_MODULES" \
             -B 
"-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
 
diff --git a/.github/workflows/main-jdk17-windows-build.yml 
b/.github/workflows/main-jdk17-windows-build.yml
index ac8de6c2b5..3961ef2eac 100644
--- a/.github/workflows/main-jdk17-windows-build.yml
+++ b/.github/workflows/main-jdk17-windows-build.yml
@@ -19,8 +19,9 @@
 #   - path handling: the checkout dir below deliberately contains a space
 #   - child JVMs (tika-server, pipes forks) started under a non-en_US locale
 #
-# The Linux jobs run in-process tests under a random default locale
-# (-Dtika.test.locale=random, RandomLocaleListener); this one runs them under
+# In-process tests can run under a random default locale
+# (-Dtika.test.locale=random, RandomLocaleListener; off in CI until the 
remaining
+# locale-dependent tests are fixed, TIKA-4920); this one runs them under
 # de_DE. Pipes forks receive their parent's locale as -D flags, but JVMs the
 # tests start themselves (tika-server) inherit only the environment, hence
 # JAVA_TOOL_OPTIONS here, which every JVM reads at startup.
diff --git a/.skills/devs/development/SKILL.md 
b/.skills/devs/development/SKILL.md
index 863c05aeb9..fae59a1361 100644
--- a/.skills/devs/development/SKILL.md
+++ b/.skills/devs/development/SKILL.md
@@ -211,10 +211,12 @@ them back. Anything hot enough to need a real seek gets a 
channel from
   CONCATENATE-only bugs).
 - Keep tests non-duplicative: don't add a test whose failure another test
   already guarantees.
-- CI runs every test JVM under a random default locale 
(`-Dtika.test.locale=random`;
-  `RandomLocaleListener` in `tika-test-support`, wired through tika-parent). A 
plain
-  build keeps the JVM's own locale. A CI failure's stack trace and the fork's 
stderr
-  name the locale; reproduce with `-Dtika.test.locale=<tag>`.  A test that 
fails only
+- `-Dtika.test.locale=random` runs every test JVM under a random default locale
+  (`RandomLocaleListener` in `tika-test-support`, wired through tika-parent); 
run it
+  before touching anything that formats or parses text. It is off in CI until 
the
+  remaining locale-dependent tests are fixed (TIKA-4920). A plain build keeps 
the
+  JVM's own locale. A failure's stack trace and the fork's stderr name the 
locale;
+  reproduce with `-Dtika.test.locale=<tag>`.  A test that fails only
   in some locales is a bug in the code under test (use `Locale.ROOT`), not a
   reason to pin `Locale.US` in the test.
 - Where there's bang for the buck, prefer parameterized tests over
diff --git a/tika-parent/pom.xml b/tika-parent/pom.xml
index edd2d7335c..5f36d6d3ad 100644
--- a/tika-parent/pom.xml
+++ b/tika-parent/pom.xml
@@ -1522,7 +1522,7 @@
         <artifactId>maven-surefire-plugin</artifactId>
         <version>${maven.surefire.version}</version>
         <configuration>
-          <!-- -Dtika.test.locale=random (CI) or =tr-TR runs the tests under 
that default locale
+          <!-- -Dtika.test.locale=random or =tr-TR runs the tests under that 
default locale
                (RandomLocaleListener). -Duser.language here would not work: 
surefire sets
                it in the fork only after the default Locale is fixed. -->
           <!-- java.io.tmpdir MUST be quoted: argLine is split on whitespace, 
and the Windows

Reply via email to