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

exceptionfactory 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 ed3a70c985 NIFI-12178 Add integration-tests and docker-tests GitHub 
Workflows
ed3a70c985 is described below

commit ed3a70c9859f7cccdf03c6133f05d42ab108cd25
Author: Chris Sampson <[email protected]>
AuthorDate: Sun Oct 1 18:42:02 2023 +0100

    NIFI-12178 Add integration-tests and docker-tests GitHub Workflows
    
    Use Java Zulu distribution for all docker-tests and integration-tests 
Github Workflows
    
    This closes #7858
    
    Signed-off-by: David Handermann <[email protected]>
---
 .github/workflows/ci-workflow.yml                  |  13 +-
 .github/workflows/docker-tests.yml                 | 178 +++++++++++++++++++++
 .github/workflows/integration-tests.yml            | 139 ++++++++++++++++
 .github/workflows/system-tests.yml                 |  84 ++++------
 README.md                                          |   2 +
 .../docker/tests/exit-codes.sh                     |   9 +-
 pom.xml                                            | 141 ++++++++++++++++
 7 files changed, 503 insertions(+), 63 deletions(-)

diff --git a/.github/workflows/ci-workflow.yml 
b/.github/workflows/ci-workflow.yml
index 71ed5d6d6e..03a9718d7d 100644
--- a/.github/workflows/ci-workflow.yml
+++ b/.github/workflows/ci-workflow.yml
@@ -21,7 +21,7 @@ env:
   MAVEN_COMMAND: ./mvnw
   MAVEN_COMMAND_WINDOWS: ./mvnw.cmd
   DEFAULT_MAVEN_OPTS: >-
-    -Xmx3g
+    -Xmx4g
     -XX:ReservedCodeCacheSize=1g
     -XX:+UseG1GC
     -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN
@@ -39,6 +39,7 @@ env:
     --fail-fast
     -pl -:minifi-c2-integration-tests
     -pl -:minifi-integration-tests
+    -pl -:minifi-c2-assembly
     -pl -:minifi-assembly
     -pl -:nifi-assembly
     -pl -:nifi-kafka-connector-assembly
@@ -74,7 +75,7 @@ env:
     -pl -nifi-toolkit/nifi-toolkit-assembly
 
 concurrency:
-  group: ${{ github.ref }}
+  group: ${{ github.workflow }}-${{ github.ref }}
   cancel-in-progress: true
 
 permissions:
@@ -87,7 +88,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout Code
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Cache Maven Modules
         uses: actions/cache@v3
         with:
@@ -121,7 +122,7 @@ jobs:
           cat /proc/meminfo
           df
       - name: Checkout Code
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Cache Node Modules
         uses: actions/cache@v3
         with:
@@ -185,7 +186,7 @@ jobs:
           sysctl machdep.cpu
           df
       - name: Checkout Code
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Cache Node Modules
         uses: actions/cache@v3
         with:
@@ -251,7 +252,7 @@ jobs:
           git config --global core.autocrlf false
           git config --global core.longpaths true
       - name: Checkout Code
-        uses: actions/checkout@v3
+        uses: actions/checkout@v4
       - name: Cache Node Modules
         uses: actions/cache@v3
         with:
diff --git a/.github/workflows/docker-tests.yml 
b/.github/workflows/docker-tests.yml
new file mode 100644
index 0000000000..6e3495d778
--- /dev/null
+++ b/.github/workflows/docker-tests.yml
@@ -0,0 +1,178 @@
+# 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: docker-tests
+
+on:
+  # Run every day at 02:00
+  schedule:
+    - cron: "0 2 * * *"
+  push:
+    paths:
+      - '.github/workflows/docker-tests.yml'
+      - 'nifi-assembly/**'
+      - 'nifi-docker/**'
+      - 'nifi-registry/nifi-registry-assembly/**'
+      - 'nifi-registry/nifi-registry-docker-maven/**'
+      - 'nifi-toolkit/nifi-toolkit-assembly/**'
+      - 'nifi-toolkit/nifi-toolkit-cli/**'
+      - 'nifi-toolkit/nifi-toolkit-encrypt-config/**'
+      - 'minifi/minifi-assembly/**'
+      - 'minifi/minifi-docker/**'
+      - 'minifi/minifi-c2/minifi-c2-assembly/**'
+      - 'minifi/minifi-c2/minifi-c2-docker/**'
+  pull_request:
+    paths:
+      - '.github/workflows/docker-tests.yml'
+      - 'nifi-assembly/**'
+      - 'nifi-docker/**'
+      - 'nifi-registry/nifi-registry-assembly/**'
+      - 'nifi-registry/nifi-registry-docker-maven/**'
+      - 'nifi-toolkit/nifi-toolkit-assembly/**'
+      - 'nifi-toolkit/nifi-toolkit-cli/**'
+      - 'nifi-toolkit/nifi-toolkit-encrypt-config/**'
+      - 'minifi/minifi-assembly/**'
+      - 'minifi/minifi-docker/**'
+      - 'minifi/minifi-c2/minifi-c2-assembly/**'
+      - 'minifi/minifi-c2/minifi-c2-docker/**'
+
+env:
+  DEFAULT_MAVEN_OPTS: >-
+    -Xmx4g
+    -XX:ReservedCodeCacheSize=1g
+    -XX:+UseG1GC
+    -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN
+    -Daether.connector.http.retryHandler.count=5
+    -Daether.connector.http.connectionMaxTtl=30
+  MAVEN_COMMAND: >-
+    ./mvnw
+    -V
+    -nsu
+    -ntp
+    -ff
+
+# build assemblies (including binaries) for use in Docker Image builds
+  MAVEN_BUILD_ARGUMENTS: >-
+    -am
+    -D skipTests
+    -T 2.0C
+    install
+  MAVEN_BUILD_PROJECTS: >-
+    -pl nifi-assembly
+    -pl nifi-registry/nifi-registry-assembly
+    -pl nifi-toolkit/nifi-toolkit-assembly
+    -pl minifi/minifi-assembly
+    -pl minifi/minifi-c2/minifi-c2-assembly
+
+  MAVEN_CLEAN_ARGUMENTS: >-
+    -T 2.0C
+    clean
+  MAVEN_CLEAN_PROJECTS: >-
+    -pl -nifi-assembly
+    -pl -nifi-registry/nifi-registry-assembly
+    -pl -nifi-toolkit/nifi-toolkit-assembly
+    -pl -nifi-toolkit/nifi-toolkit-cli
+    -pl -nifi-toolkit/nifi-toolkit-encrypt-config
+    -pl -minifi/minifi-assembly
+    -pl -minifi/minifi-c2/minifi-c2-assembly
+
+# build and test Docker Images
+  MAVEN_DOCKER_ARGUMENTS: >-
+    verify
+    -P docker
+  MAVEN_DOCKER_PROJECTS: >-
+    -pl minifi/minifi-docker
+    -pl minifi/minifi-c2/minifi-c2-docker
+    -pl nifi-docker/dockermaven
+    -pl nifi-registry/nifi-registry-docker-maven/dockermaven
+
+concurrency:
+  group: ${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: true
+
+permissions:
+  contents: read
+
+jobs:
+  build_and_test:
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ ubuntu-latest ]
+        version: [ 21 ]
+    timeout-minutes: 120
+    runs-on: ${{ matrix.os }}
+    name: ${{ matrix.os }} Java ${{ matrix.version }}
+    steps:
+      - name: Checkout Code
+        uses: actions/checkout@v4
+      - name: Set up Java Zulu ${{ matrix.version }}
+        uses: actions/setup-java@v3
+        with:
+          distribution: 'zulu'
+          java-version: ${{ matrix.version }}
+          cache: 'maven'
+
+      - name: Set up Docker
+        if: ${{ runner.os == 'macOS' }}
+        run: |-
+          /bin/bash -c "$(curl -fsSL 
https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
+          brew install docker
+          colima start
+
+          sudo ln -s ~/.colima/docker.sock /var/run/docker.sock
+      - name: System Information
+        run: |
+          hostname
+          if [ "${{ runner.os }}" = "macOS" ]; then top -l 1 | grep PhysMem && 
sysctl machdep.cpu; else cat /proc/cpuinfo && cat /proc/meminfo; fi
+          df
+          docker info
+
+      - name: Build Assemblies
+        env:
+          MAVEN_OPTS: >-
+            ${{ env.DEFAULT_MAVEN_OPTS }}
+        run: >
+          ${{ env.MAVEN_COMMAND }}
+          ${{ env.MAVEN_BUILD_ARGUMENTS }}
+          ${{ env.MAVEN_BUILD_PROJECTS }}
+      # run nifi-toolkit docker build and tests before cleaning modules
+      - name: Run NiFi Toolkit Docker Tests
+        env:
+          MAVEN_OPTS: >-
+            ${{ env.DEFAULT_MAVEN_OPTS }}
+        run: >
+          ${{ env.MAVEN_COMMAND }}
+          ${{ env.MAVEN_DOCKER_ARGUMENTS }}
+          -pl nifi-toolkit/nifi-toolkit-assembly
+      - name: Clean Modules
+        env:
+          MAVEN_OPTS: >-
+            ${{ env.DEFAULT_MAVEN_OPTS }}
+        # clean non-assembly modules before running Docker builds and delete 
unpacked binaries, otherwise we'll run out of disk space
+        run: >
+          ${{ env.MAVEN_COMMAND }}
+          ${{ env.MAVEN_CLEAN_ARGUMENTS }}
+          ${{ env.MAVEN_CLEAN_PROJECTS }}
+          && rm -rf nifi-assembly/target/nifi-*-bin/ 
nifi-registry/nifi-registry-assembly/target/nifi-registry-*-bin/
+          && rm -rf ~/.m2/repository/*
+      - name: Run Docker Tests
+        env:
+          MAVEN_OPTS: >-
+            ${{ env.DEFAULT_MAVEN_OPTS }}
+        run: >
+          ${{ env.MAVEN_COMMAND }}
+          ${{ env.MAVEN_DOCKER_ARGUMENTS }}
+          ${{ env.MAVEN_DOCKER_PROJECTS }}
diff --git a/.github/workflows/integration-tests.yml 
b/.github/workflows/integration-tests.yml
new file mode 100644
index 0000000000..0581d21fc1
--- /dev/null
+++ b/.github/workflows/integration-tests.yml
@@ -0,0 +1,139 @@
+# 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: integration-tests
+
+on:
+  # Run every day at 03:00
+  schedule:
+    - cron: "0 3 * * *"
+  push:
+    paths:
+      - '.github/workflows/integration-tests.yml'
+      - '**/test/**/*IT.java'
+      - '**/test/**/*ITCase.java'
+      - '**/test/**/IT*.java'
+  pull_request:
+    paths:
+      - '.github/workflows/integration-tests.yml'
+      - '**/test/**/*IT.java'
+      - '**/test/**/*ITCase.java'
+      - '**/test/**/IT*.java'
+
+env:
+  DEFAULT_MAVEN_OPTS: >-
+    -Xmx4g
+    -XX:ReservedCodeCacheSize=1g
+    -XX:+UseG1GC
+    -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN
+    -Daether.connector.http.retryHandler.count=5
+    -Daether.connector.http.connectionMaxTtl=30
+    -Duser.language=en
+    -Duser.country=GB
+    -Duser.timezone=UTC
+  MAVEN_COMMAND: >-
+    ./mvnw
+    -V
+    -nsu
+    -ntp
+    -ff
+
+# skip assemblies and modules covered separately by the system-tests workflow
+# skip unit tests (surefire), run integration tests (failsafe), python ITs 
included as part of the system-tests workflow
+  MAVEN_BUILD_ARGUMENTS: >-
+    verify
+    -P skip-unit-tests
+    -P integration-tests
+    -P integration-tests-ci
+    -P nifi-registry-integration-tests
+  MAVEN_BUILD_EXCLUDE_PROJECTS: >-
+    -pl -:minifi-assembly
+    -pl -:minifi-c2-assembly
+    -pl -:nifi-assembly
+    -pl -:nifi-toolkit-assembly
+    -pl -:nifi-registry-assembly
+    -pl -:nifi-registry-toolkit-assembly
+    -pl -:nifi-runtime-manifest
+    -pl -:nifi-runtime-manifest-test
+    -pl -:nifi-stateless-assembly
+    -pl -:nifi-stateless-processor-tests
+    -pl -:nifi-stateless-system-test-suite
+    -pl -:nifi-system-test-suite
+    -pl -:nifi-nar-provider-assembly
+    -pl -:nifi-py4j-integration-tests
+    -pl -:nifi-docs
+    -pl -:nifi-maven-archetypes
+    -pl -:nifi-processor-bundle-archetype
+    -pl -:nifi-service-bundle-archetype
+
+concurrency:
+  group: ${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: true
+
+permissions:
+  contents: read
+
+jobs:
+  build_and_test:
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ ubuntu-latest ]
+        version: [ 21 ]
+    timeout-minutes: 120
+    runs-on: ${{ matrix.os }}
+    name: ${{ matrix.os }} Java ${{ matrix.version }}
+    steps:
+      - name: Checkout Code
+        uses: actions/checkout@v4
+      - name: Set up Java Zulu ${{ matrix.version }}
+        uses: actions/setup-java@v3
+        with:
+          distribution: 'zulu'
+          java-version: ${{ matrix.version }}
+          cache: 'maven'
+
+      # many integration-tests use Docker to run Testcontainers; MacOS doesn't 
come with Docker, so we need to install it
+      - name: Set up Docker
+        if: ${{ runner.os == 'macOS' }}
+        run: |-
+          /bin/bash -c "$(curl -fsSL 
https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
+          brew install docker
+          colima start
+
+          sudo ln -s ~/.colima/docker.sock /var/run/docker.sock
+      - name: System Information
+        run: |
+          hostname
+          if [ "${{ runner.os }}" = "macOS" ]; then top -l 1 | grep PhysMem && 
sysctl machdep.cpu; else cat /proc/cpuinfo && cat /proc/meminfo; fi
+          df
+          docker info
+
+      - name: Build and Run Tests
+        env:
+          MAVEN_OPTS: >-
+            ${{ env.DEFAULT_MAVEN_OPTS }}
+        run: >
+          ${{ env.MAVEN_COMMAND }}
+          ${{ env.MAVEN_BUILD_ARGUMENTS }}
+          ${{ env.MAVEN_BUILD_EXCLUDE_PROJECTS }}
+      - name: Upload Troubleshooting Logs
+        if: failure() || cancelled()
+        uses: actions/upload-artifact@v3
+        with:
+          name: ${{ matrix.os }}-${{ matrix.version }}-failsafe-logs
+          path: |
+            **/target/failsafe-reports/**/*.txt
+          retention-days: 7
diff --git a/.github/workflows/system-tests.yml 
b/.github/workflows/system-tests.yml
index f2c4c41748..e9c07148a9 100644
--- a/.github/workflows/system-tests.yml
+++ b/.github/workflows/system-tests.yml
@@ -38,7 +38,7 @@ on:
 
 env:
   DEFAULT_MAVEN_OPTS: >-
-    -Xmx3g
+    -Xmx4g
     -Duser.language=en
     -Duser.country=GB
     -Duser.timezone=UTC
@@ -53,7 +53,6 @@ env:
     -D skipTests
     -am
   MAVEN_RUN_ARGUMENTS: >-
-    package
     verify
     -P integration-tests
     -D include-python-integration-tests=true
@@ -64,71 +63,50 @@ env:
     -pl nifi-system-tests/nifi-system-test-suite
     -pl nifi-system-tests/nifi-stateless-system-test-suite
 
+concurrency:
+  group: ${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: true
+
 permissions:
   contents: read
 
 jobs:
-  ubuntu:
+  build_and_test:
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ ubuntu-latest, macos-latest ]
+        version: [ 21 ]
     timeout-minutes: 120
-    runs-on: ubuntu-latest
-    name: Ubuntu Corretto Java 21
+    runs-on: ${{ matrix.os }}
+    name: ${{ matrix.os }} Java ${{ matrix.version }}
+    env:
+      # default to Amazon Corretto JDK
+      JAVA_DISTRIBUTION: corretto
     steps:
+      - name: System Information
+        run: |
+          hostname
+          if [ "${{ runner.os }}" = "macOS" ]; then top -l 1 | grep PhysMem && 
sysctl machdep.cpu; else cat /proc/cpuinfo && cat /proc/meminfo; fi
+          df
+      # Zulu JDK appears to be more reliable for MacOS
+      - name: Use Java distribution Zulu
+        if: ${{ runner.os == 'macOS' }}
+        run: echo "JAVA_DISTRIBUTION=zulu" >> "$GITHUB_ENV"
       - name: Checkout Code
-        uses: actions/checkout@v3
-      - name: Set up Java 21
+        uses: actions/checkout@v4
+      - name: Set up Java ${{ env.JAVA_DISTRIBUTION }} ${{ matrix.version }}
         uses: actions/setup-java@v3
         with:
-          distribution: corretto
-          java-version: 21
+          distribution: ${{ env.JAVA_DISTRIBUTION }}
+          java-version: ${{ matrix.version }}
           cache: 'maven'
-      - name: Set up Python 3.9
-        uses: actions/setup-python@v4
-        with:
-          python-version: '3.9'
-      - name: Build Dependencies
-        env:
-          MAVEN_OPTS: >-
-            ${{ env.DEFAULT_MAVEN_OPTS }}
-        run: >
-          ${{ env.MAVEN_COMMAND }}
-          ${{ env.MAVEN_BUILD_ARGUMENTS }}
-          ${{ env.MAVEN_PROJECTS }}
-      - name: Run Tests
-        env:
-          MAVEN_OPTS: >-
-            ${{ env.DEFAULT_MAVEN_OPTS }}
-        run: >
-          ${{ env.MAVEN_COMMAND }}
-          ${{ env.MAVEN_RUN_ARGUMENTS }}
-          ${{ env.MAVEN_PROJECTS }}
-      - name: Upload Troubleshooting Logs
-        if: failure() || cancelled()
-        uses: actions/upload-artifact@v3
-        with:
-          name: ubuntu-21-troubleshooting-logs
-          path: |
-            
nifi-system-tests/nifi-system-test-suite/target/failsafe-reports/**/*.txt
-            
nifi-system-tests/nifi-system-test-suite/target/surefire-reports/**/*.txt
-            
nifi-system-tests/nifi-system-test-suite/target/troubleshooting/**/*
-          retention-days: 7
 
-  macos:
-    timeout-minutes: 120
-    runs-on: macos-latest
-    name: MacOS Zulu Java 21
-    steps:
-      - name: Checkout Code
-        uses: actions/checkout@v3
-      - name: Set up Java 21
-        uses: actions/setup-java@v3
-        with:
-          distribution: zulu
-          java-version: 21
-          cache: 'maven'
       - name: Set up Python 3.9
         uses: actions/setup-python@v4
         with:
           python-version: '3.9'
+
       - name: Build Dependencies
         env:
           MAVEN_OPTS: >-
@@ -149,7 +127,7 @@ jobs:
         if: failure() || cancelled()
         uses: actions/upload-artifact@v3
         with:
-          name: macos-latest-troubleshooting-logs
+          name: ${{ matrix.os }}-${{ matrix.version }}-troubleshooting-logs
           path: |
             
nifi-system-tests/nifi-system-test-suite/target/failsafe-reports/**/*.txt
             
nifi-system-tests/nifi-system-test-suite/target/surefire-reports/**/*.txt
diff --git a/README.md b/README.md
index 3e9e600807..7dd6d29605 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,8 @@
 
 
[![ci-workflow](https://github.com/apache/nifi/workflows/ci-workflow/badge.svg)](https://github.com/apache/nifi/actions/workflows/ci-workflow.yml)
 
[![system-tests](https://github.com/apache/nifi/workflows/system-tests/badge.svg)](https://github.com/apache/nifi/actions/workflows/system-tests.yml)
+[![integration-tests](https://github.com/apache/nifi/actions/workflows/integration-tests.yml/badge.svg)](https://github.com/apache/nifi/actions/workflows/integration-tests.yml)
+[![docker-tests](https://github.com/apache/nifi/actions/workflows/docker-tests.yml/badge.svg)](https://github.com/apache/nifi/actions/workflows/docker-tests.yml)
 [![Docker 
pulls](https://img.shields.io/docker/pulls/apache/nifi.svg)](https://hub.docker.com/r/apache/nifi/)
 
[![Version](https://img.shields.io/maven-central/v/org.apache.nifi/nifi-utils.svg)](https://nifi.apache.org/download.html)
 
[![Slack](https://img.shields.io/badge/chat-on%20Slack-brightgreen.svg)](https://s.apache.org/nifi-community-slack)
diff --git a/nifi-toolkit/nifi-toolkit-assembly/docker/tests/exit-codes.sh 
b/nifi-toolkit/nifi-toolkit-assembly/docker/tests/exit-codes.sh
index ffe08dbeea..2b6336a05c 100755
--- a/nifi-toolkit/nifi-toolkit-assembly/docker/tests/exit-codes.sh
+++ b/nifi-toolkit/nifi-toolkit-assembly/docker/tests/exit-codes.sh
@@ -3,15 +3,16 @@
 set -xuo pipefail
 
 VERSION=${1:-}
-IMAGE=apache/nifi-toolkit:${VERSION}
+
+image_name=apache/nifi-toolkit:${VERSION}
 
 echo "Testing return values on missing input:"
-docker run --rm $IMAGE
+docker run --rm "${image_name}"
 test 0 -eq $? || exit 1
 
 echo "Testing return values on invalid input for all commands:"
-docker run --rm $IMAGE encrypt-config invalid 1>/dev/null 2>&1
+docker run --rm "${image_name}" encrypt-config invalid 1>/dev/null 2>&1
 test 2 -eq $? || exit 1
 
-docker run --rm $IMAGE cli invalid 1>/dev/null 2>&1
+docker run --rm "${image_name}" cli invalid 1>/dev/null 2>&1
 test 255 -eq $? || exit 1
diff --git a/pom.xml b/pom.xml
index 5c866d9185..1d27570cdc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1029,6 +1029,147 @@
                 </plugins>
             </build>
         </profile>
+        <profile>
+            <!--
+                always run the (failsafe default) IT*, *IT, *ITCase 
integration-tests
+                skip individual failing ITs (some won't work in a CI 
environment)
+            -->
+            <id>integration-tests-ci</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-failsafe-plugin</artifactId>
+                        <configuration>
+                            
<failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
+                            <test>
+                                IT*, *IT, *ITCase,
+                                !AwsSecretsManagerSensitivePropertyProviderIT,
+                                !AwsKmsSensitivePropertyProviderIT,
+                                !AzureKeyVaultKeySensitivePropertyProviderIT,
+                                !GcpKmsSensitivePropertyProviderIT,
+                                !StandardHashiCorpVaultCommunicationServiceIT,
+                                !ConversionWithSchemaInferenceIT#testXmlToAvro,
+                                !ConversionWithSchemaInferenceIT#testXmlToJson,
+                                !ConversionWithSchemaInferenceIT#testJsonToCsv,
+                                !ConversionWithSchemaInferenceIT#testCsvToXml,
+                                
!ConversionWithSchemaInferenceIT#testXmlToAvroToXml,
+                                !ConversionWithSchemaInferenceIT#testCsvToAvro,
+                                !ConversionWithSchemaInferenceIT#testCsvToJson,
+                                
!ConversionWithSchemaInferenceIT#testJsonToAvroToJson,
+                                
!ConversionWithSchemaInferenceIT#testCsvToAvroToCsv,
+                                !ConversionWithExplicitSchemaIT#testJsonToCsv,
+                                !ConversionWithExplicitSchemaIT#testJsonToAvro,
+                                
!ConversionWithExplicitSchemaIT#testJsonToAvroToJson,
+                                !ITConsumeKinesisStreamEndpointOverride,
+                                !ITConsumeKinesisStreamConnectAWS,
+                                !ITPutKinesisStream,
+                                
!ITPutKinesisStreamWithEndpointOverride#testIntegrationSuccess,
+                                
!ITPutKinesisFirehoseWithEndpointOverride#testIntegrationSuccess,
+                                !ITPutKinesisFirehose,
+                                !ITTagS3Object,
+                                !ITFetchS3Object,
+                                !ITDeleteS3Object,
+                                !ITPutS3Object,
+                                !ITListS3,
+                                !ITPutSNS#testPublish,
+                                
!ITPutSNS#testPublishWithCredentialsProviderService,
+                                !ITDeleteSQS,
+                                !ITGetSQS,
+                                !ITPutSQS,
+                                !ITPutLambda,
+                                !GetMongoIT#testDatabaseEL,
+                                !PutGridFSIT#testFileNameAndHashUniqueness,
+                                !PutGridFSIT#testHashUniqueness,
+                                !ITPutAzureCosmosDBRecord,
+                                !ITListAzureBlobStorage_v12,
+                                !ITPutAzureDataLakeStorage,
+                                !ITFetchAzureDataLakeStorage,
+                                !ITListAzureDataLakeStorage,
+                                !ITFetchAzureBlobStorage_v12,
+                                !ITPutAzureBlobStorage_v12,
+                                !ITDeleteAzureDataLakeStorage,
+                                !ITDeleteAzureBlobStorage_v12,
+                                !ITMoveAzureDataLakeStorage,
+                                !AzureGraphUserGroupProviderIT,
+                                
!JMSPublisherConsumerIT#validateMessageRedeliveryWhenNotAcked,
+                                !ITPutInfluxDB,
+                                !ITExecuteInfluxDBQuery,
+                                !GremlinClientServiceYamlSettingsAndBytecodeIT,
+                                !GremlinClientServiceControllerSettingsIT,
+                                !ITestConsumeEmail#validateUrl,
+                                !PrometheusReportingTaskIT#testNullLabel,
+                                !SnowflakeConnectionPoolIT,
+                                !SalesforceRestServiceIT,
+                                !QuerySalesforceObjectIT,
+                                !PutSalesforceObjectIT,
+                                !FetchDropboxIT,
+                                !PutDropboxIT,
+                                !ListDropboxIT,
+                                !FetchBoxFileIT,
+                                !PutBoxFileIT,
+                                !ListBoxFileIT,
+                                !JsonConfigBasedBoxClientServiceIT,
+                                !QueryIoTDBIT,
+                                !PutIoTDBRecordIT,
+                                
!StandardProcessSessionIT#testCloneThenWriteCountsClaimReferencesProperly,
+                                
!StandardProcessSessionIT#testUpdateFlowFileRepoFailsOnSessionCommit,
+                                !JMSPublisherConsumerIT#testMultipleThreads,
+                                
!ITRedisDistributedMapCacheClientService#testSentinelRedis,
+                                
!ITRedisDistributedMapCacheClientService#testSentinelRedisWithAuthentication,
+                                
!ITRedisDistributedMapCacheClientService#testSentinelRedisWithDefaultUserAuthentication,
+                                
!ITRedisDistributedMapCacheClientService#testSentinelRedisWithUsernameAndPasswordAuthentication,
+                                
!ITRedisDistributedMapCacheClientService#testStandaloneRedis,
+                                
!ITRedisDistributedMapCacheClientService#testStandaloneRedisWithAuthentication,
+                                !SnowflakePipeIT,
+                                !SecureFileIT,
+                                !SecureProxyIT#testAccessStatus,
+                                !SecureProxyIT#testAccessStatusAsProxiedAdmin,
+                                
!SecureProxyIT#testAccessStatusUsingRegistryClient,
+                                
!SecureNiFiRegistryClientIT#testGetAccessStatus,
+                                
!SecureNiFiRegistryClientIT#testTenantsClientGroups,
+                                
!SecureNiFiRegistryClientIT#testTenantsClientUsers,
+                                !SecureNiFiRegistryClientIT#testCrudOperations,
+                                !SecureDatabaseIT,
+                                !ITConnectionAccessControl,
+                                !ITLabelAccessControl,
+                                !ITOutputPortAccessControl,
+                                !ITProcessorAccessControl,
+                                !ITFlowAccessControl,
+                                !ITFunnelAccessControl,
+                                !ITInputPortAccessControl,
+                                !ITCountersAccessControl,
+                                !ITAllowProxiedAnonymousAccess,
+                                !ITPreventProxiedAnonymousAccess,
+                                !ITPreventDirectAnonymousAccess,
+                                !ITAllowDirectAnonymousAccess,
+                                !ITProcessGroupAccessControl,
+                                
!UnsecuredNiFiRegistryClientIT#testFlowSnapshotsWithParameterContextAndEncodingVersion
+                            </test>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <!--
+            Disabled Unit Tests executed through the surefire plugin. Intended 
to be used
+            alongside the integration-tests profile to run *only* the tests 
configured for
+            execution through the failsafe plugin
+            -->
+            <id>skip-unit-tests</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <configuration>
+                            <skipTests>true</skipTests>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
         <profile>
             <id>contrib-check</id>
             <build>

Reply via email to