This is an automated email from the ASF dual-hosted git repository.
pvillard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 9f140c7c52 NIFI-14981 Added JDK 25 to GitHub Workflows
9f140c7c52 is described below
commit 9f140c7c52bad88721fb18efd99923d7c4f290b2
Author: exceptionfactory <[email protected]>
AuthorDate: Tue Sep 16 21:38:51 2025 -0500
NIFI-14981 Added JDK 25 to GitHub Workflows
- Updated ci-workflow and system-tests with JDK 25
- Disabled Hadoop HDFS and Parquet tests on Java 25 due to
UnsupportedOperationException from javax.security.auth.Subject.getSubject()
Signed-off-by: Pierre Villard <[email protected]>
This closes #10312.
---
.github/PULL_REQUEST_TEMPLATE.md | 1 +
.github/workflows/ci-workflow.yml | 73 ++++++++++++++++++++++
.github/workflows/system-tests.yml | 4 +-
.../nifi/processors/hadoop/AbstractHadoopTest.java | 3 +
.../apache/nifi/processors/hadoop/PutHDFSTest.java | 3 +
.../processors/hadoop/TestGetHDFSFileInfo.java | 3 +
.../nifi/processors/hadoop/TestListHDFS.java | 3 +
.../org/apache/nifi/parquet/TestParquetReader.java | 3 +
.../nifi/parquet/TestParquetRecordSetWriter.java | 3 +
.../CalculateParquetRowGroupOffsetsTest.java | 3 +
.../nifi/processors/parquet/FetchParquetTest.java | 3 +
.../nifi/processors/parquet/PutParquetTest.java | 3 +
.../parquet/TestConvertAvroToParquet.java | 6 +-
13 files changed, 106 insertions(+), 5 deletions(-)
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 11e1452ad8..0bef7c1ae2 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -41,6 +41,7 @@ Please indicate the verification steps performed prior to
pull request creation.
- [ ] Build completed using `./mvnw clean install -P contrib-check`
- [ ] JDK 21
+ - [ ] JDK 25
### Licensing
diff --git a/.github/workflows/ci-workflow.yml
b/.github/workflows/ci-workflow.yml
index 0df039008b..3748ac0060 100644
--- a/.github/workflows/ci-workflow.yml
+++ b/.github/workflows/ci-workflow.yml
@@ -127,6 +127,79 @@ jobs:
run: df
if: ${{ always() }}
+ ubuntu--jdk-25-build-en:
+ timeout-minutes: 120
+ runs-on: ubuntu-24.04
+ name: Ubuntu Corretto JDK 25 EN
+ steps:
+ - name: Clear Disk Space
+ run: |
+ sudo rm -rf /usr/share/dotnet
+ sudo rm -rf /opt/ghc
+ sudo rm -rf "/usr/local/share/boost"
+ sudo rm -rf /usr/local/lib/android
+ - name: System Information
+ run: |
+ hostname
+ cat /proc/cpuinfo
+ cat /proc/meminfo
+ df
+ - name: Checkout Code
+ uses: actions/checkout@v4
+ - name: Cache Node Modules
+ uses: actions/cache@v4
+ with:
+ path: |
+ ~/.npm
+ **/node_modules
+ key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
+ - name: Set up Java 25
+ uses: actions/setup-java@v5
+ with:
+ distribution: 'corretto'
+ java-version: '25'
+ cache: 'maven'
+ - name: Set up Python 3.12
+ uses: actions/setup-python@v5
+ with:
+ python-version: '3.12'
+ - name: Evaluate Changed Paths
+ uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36
+ id: changes
+ with:
+ filters: |
+ frontend:
+ - 'nifi-frontend/**'
+ - name: Maven Compile
+ env:
+ MAVEN_OPTS: >-
+ ${{ env.COMPILE_MAVEN_OPTS }}
+ -Dfrontend.skipTests=${{ steps.changes.outputs.frontend == 'true'
&& 'false' || 'true' }}
+ run: >
+ ${{ env.MAVEN_COMMAND }}
+ ${{ env.MAVEN_COMPILE_COMMAND }}
+ - name: Maven Verify
+ env:
+ MAVEN_OPTS: >-
+ ${{ env.DEFAULT_MAVEN_OPTS }}
+ -Dfrontend.skipTests=${{ steps.changes.outputs.frontend == 'true'
&& 'false' || 'true' }}
+ run: >
+ ${{ env.MAVEN_COMMAND }}
+ ${{ env.MAVEN_VERIFY_COMMAND }}
+ -P python-unit-tests
+ - name: Upload Test Reports
+ uses: actions/upload-artifact@v4
+ with:
+ name: surefire-reports-ubuntu-jdk-25
+ path: |
+ ./**/target/surefire-reports/*.txt
+ ./**/target/surefire-reports/*.xml
+ retention-days: 3
+ if: failure()
+ - name: Post Disk Usage
+ run: df
+ if: ${{ always() }}
+
macos-build-jp:
timeout-minutes: 150
runs-on: macos-15
diff --git a/.github/workflows/system-tests.yml
b/.github/workflows/system-tests.yml
index 46d758854c..2e38950144 100644
--- a/.github/workflows/system-tests.yml
+++ b/.github/workflows/system-tests.yml
@@ -83,7 +83,7 @@ jobs:
fail-fast: false
matrix:
os: [ ubuntu-24.04, macos-15 ]
- version: [ 21 ]
+ version: [ 21, 25 ]
timeout-minutes: 120
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} Java ${{ matrix.version }}
@@ -95,7 +95,7 @@ jobs:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Java ${{ matrix.version }}
- uses: actions/setup-java@v4
+ uses: actions/setup-java@v5
with:
distribution: 'zulu'
java-version: ${{ matrix.version }}
diff --git
a/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/AbstractHadoopTest.java
b/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/AbstractHadoopTest.java
index d1f4b4d61b..e05ee492b4 100644
---
a/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/AbstractHadoopTest.java
+++
b/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/AbstractHadoopTest.java
@@ -31,6 +31,8 @@ import org.apache.nifi.util.TestRunner;
import org.apache.nifi.util.TestRunners;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnJre;
+import org.junit.jupiter.api.condition.JRE;
import java.io.File;
import java.io.IOException;
@@ -49,6 +51,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+@DisabledOnJre(value = { JRE.JAVA_25 }, disabledReason =
"java.security.auth.Subject.getSubject() is not supported")
public class AbstractHadoopTest {
@BeforeEach
diff --git
a/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/PutHDFSTest.java
b/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/PutHDFSTest.java
index b9efab511b..60c7ceeede 100644
---
a/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/PutHDFSTest.java
+++
b/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/PutHDFSTest.java
@@ -43,6 +43,8 @@ import org.apache.nifi.util.TestRunners;
import org.ietf.jgss.GSSException;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnJre;
+import org.junit.jupiter.api.condition.JRE;
import org.junit.jupiter.api.io.TempDir;
import org.mockito.Mockito;
@@ -74,6 +76,7 @@ import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+@DisabledOnJre(value = { JRE.JAVA_25 }, disabledReason =
"java.security.auth.Subject.getSubject() is not supported")
public class PutHDFSTest {
private final static String TARGET_DIRECTORY = "target/test-classes";
private final static String AVRO_TARGET_DIRECTORY = TARGET_DIRECTORY +
"/testdata-avro";
diff --git
a/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/TestGetHDFSFileInfo.java
b/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/TestGetHDFSFileInfo.java
index c69e0cb3dc..05d3870f73 100644
---
a/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/TestGetHDFSFileInfo.java
+++
b/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/TestGetHDFSFileInfo.java
@@ -37,9 +37,12 @@ import org.apache.nifi.util.TestRunner;
import org.apache.nifi.util.TestRunners;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnJre;
+import org.junit.jupiter.api.condition.JRE;
import static org.junit.jupiter.api.Assertions.assertEquals;
+@DisabledOnJre(value = { JRE.JAVA_25 }, disabledReason =
"java.security.auth.Subject.getSubject() is not supported")
public class TestGetHDFSFileInfo {
private static final Pattern SINGLE_JSON_PATTERN =
Pattern.compile("^\\{[^\\}]*\\}$");
diff --git
a/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/TestListHDFS.java
b/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/TestListHDFS.java
index ad58c1feaf..536655d951 100644
---
a/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/TestListHDFS.java
+++
b/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/TestListHDFS.java
@@ -34,6 +34,8 @@ import org.apache.nifi.util.TestRunner;
import org.apache.nifi.util.TestRunners;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnJre;
+import org.junit.jupiter.api.condition.JRE;
import org.mockito.ArgumentCaptor;
import java.io.File;
@@ -65,6 +67,7 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
+@DisabledOnJre(value = { JRE.JAVA_25 }, disabledReason =
"java.security.auth.Subject.getSubject() is not supported")
class TestListHDFS {
private TestRunner runner;
diff --git
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/parquet/TestParquetReader.java
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/parquet/TestParquetReader.java
index f862bfe78c..966c4c701e 100644
---
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/parquet/TestParquetReader.java
+++
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/parquet/TestParquetReader.java
@@ -46,9 +46,12 @@ import org.apache.nifi.util.TestRunner;
import org.apache.nifi.util.TestRunners;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnJre;
import org.junit.jupiter.api.condition.DisabledOnOs;
+import org.junit.jupiter.api.condition.JRE;
import org.junit.jupiter.api.condition.OS;
+@DisabledOnJre(value = { JRE.JAVA_25 }, disabledReason =
"java.security.auth.Subject.getSubject() is not supported")
@DisabledOnOs({ OS.WINDOWS })
public class TestParquetReader {
diff --git
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/parquet/TestParquetRecordSetWriter.java
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/parquet/TestParquetRecordSetWriter.java
index ade91d2856..fe18eb52f6 100644
---
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/parquet/TestParquetRecordSetWriter.java
+++
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/parquet/TestParquetRecordSetWriter.java
@@ -45,6 +45,8 @@ import org.apache.parquet.hadoop.util.HadoopInputFile;
import org.apache.parquet.io.InputFile;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnJre;
+import org.junit.jupiter.api.condition.JRE;
import java.io.File;
import java.io.FileOutputStream;
@@ -58,6 +60,7 @@ import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
+@DisabledOnJre(value = { JRE.JAVA_25 }, disabledReason =
"java.security.auth.Subject.getSubject() is not supported")
public class TestParquetRecordSetWriter {
private static final String SCHEMA_PATH =
"src/test/resources/avro/user.avsc";
diff --git
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/CalculateParquetRowGroupOffsetsTest.java
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/CalculateParquetRowGroupOffsetsTest.java
index ef79489b34..332a98ceef 100644
---
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/CalculateParquetRowGroupOffsetsTest.java
+++
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/CalculateParquetRowGroupOffsetsTest.java
@@ -35,9 +35,12 @@ import org.apache.nifi.util.TestRunner;
import org.apache.nifi.util.TestRunners;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnJre;
import org.junit.jupiter.api.condition.DisabledOnOs;
+import org.junit.jupiter.api.condition.JRE;
import org.junit.jupiter.api.condition.OS;
+@DisabledOnJre(value = { JRE.JAVA_25 }, disabledReason =
"java.security.auth.Subject.getSubject() is not supported")
@DisabledOnOs({ OS.WINDOWS })
public class CalculateParquetRowGroupOffsetsTest {
diff --git
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/FetchParquetTest.java
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/FetchParquetTest.java
index 6ec7a95d82..5570c6c101 100644
---
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/FetchParquetTest.java
+++
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/FetchParquetTest.java
@@ -63,11 +63,14 @@ import org.apache.parquet.hadoop.ParquetWriter;
import org.apache.parquet.hadoop.util.HadoopOutputFile;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnJre;
import org.junit.jupiter.api.condition.DisabledOnOs;
+import org.junit.jupiter.api.condition.JRE;
import org.junit.jupiter.api.condition.OS;
import org.mockito.AdditionalMatchers;
import org.mockito.Mockito;
+@DisabledOnJre(value = { JRE.JAVA_25 }, disabledReason =
"java.security.auth.Subject.getSubject() is not supported")
@DisabledOnOs({ OS.WINDOWS })
public class FetchParquetTest {
diff --git
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/PutParquetTest.java
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/PutParquetTest.java
index b725f334c5..468f9c055e 100644
---
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/PutParquetTest.java
+++
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/PutParquetTest.java
@@ -50,7 +50,9 @@ import
org.apache.parquet.hadoop.metadata.CompressionCodecName;
import org.apache.parquet.hadoop.util.HadoopInputFile;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnJre;
import org.junit.jupiter.api.condition.DisabledOnOs;
+import org.junit.jupiter.api.condition.JRE;
import org.junit.jupiter.api.condition.OS;
import org.mockito.Mockito;
@@ -71,6 +73,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.when;
+@DisabledOnJre(value = { JRE.JAVA_25 }, disabledReason =
"java.security.auth.Subject.getSubject() is not supported")
@DisabledOnOs(OS.WINDOWS)
public class PutParquetTest {
diff --git
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/TestConvertAvroToParquet.java
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/TestConvertAvroToParquet.java
index c3508b7c16..175d68cfda 100644
---
a/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/TestConvertAvroToParquet.java
+++
b/nifi-extension-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/processors/parquet/TestConvertAvroToParquet.java
@@ -51,13 +51,13 @@ import org.apache.parquet.hadoop.metadata.BlockMetaData;
import org.apache.parquet.hadoop.util.HadoopInputFile;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnJre;
+import org.junit.jupiter.api.condition.JRE;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
-/**
- * Unit tests for ConvertAvroToParquet processor
- */
+@DisabledOnJre(value = { JRE.JAVA_25 }, disabledReason =
"java.security.auth.Subject.getSubject() is not supported")
public class TestConvertAvroToParquet {
private TestRunner runner;