From 616375b1856bbe10507ddb6d360475f5c5dd292d Mon Sep 17 00:00:00 2001 From: Martin Zink Date: Wed, 29 Jan 2025 13:11:19 +0100 Subject: [PATCH 1/2] MINIFICPP-2522 Various CI improvements --- .github/workflows/ci.yml | 36 +++++----- .github/workflows/verify-package.yml | 46 +++--------- cmake/DockerConfig.cmake | 3 +- cmake/VerifyPackageWithDocker.cmake | 2 +- cmake/VerifyPythonCompatibility.cmake | 72 ------------------- .../integration/features/couchbase.feature | 8 +++ .../features/python_with_modules.feature | 30 -------- .../modbus/ReadModbusFunctions.cpp | 1 + .../modbus/ReadModbusFunctions.h | 4 +- .../tests/ConsumeWindowsEventLogTests.cpp | 2 +- 10 files changed, 40 insertions(+), 164 deletions(-) delete mode 100644 cmake/VerifyPythonCompatibility.cmake delete mode 100644 docker/test/integration/features/python_with_modules.feature diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c6b3d97c37..4b65bf94c5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,8 +8,8 @@ env: CCACHE_DIR: ${{ GITHUB.WORKSPACE }}/.ccache jobs: macos_xcode: - name: "macos-xcode" - runs-on: macos-14 + name: "macOS 15 aarch64" + runs-on: macos-15 timeout-minutes: 180 env: MACOS_MINIFI_OPTIONS: >- @@ -92,7 +92,7 @@ jobs: run: | # Set core file size limit to unlimited ulimit -c unlimited - ctest -j4 --output-on-failure --timeout 300 + ctest --timeout 300 -j4 --output-on-failure --timeout 300 working-directory: build - name: linter run: ninja linter @@ -112,8 +112,8 @@ jobs: name: macos-binaries path: build/bin windows_VS2022: - name: "windows-2022" - runs-on: windows-2022 + name: "Windows Server 2025 x86_64" + runs-on: windows-2025 timeout-minutes: 240 env: WINDOWS_MINIFI_OPTIONS: >- @@ -229,7 +229,7 @@ jobs: name: cpack_error path: D:/a/nifi-minifi-cpp/nifi-minifi-cpp/build/_CPack_Packages/win64/WIX/wix.log ubuntu_24_04: - name: "ubuntu-24.04" + name: "Ubuntu 24.04 x86_64" runs-on: ubuntu-24.04 timeout-minutes: 120 env: @@ -310,7 +310,7 @@ jobs: run: | # Set core file size limit to unlimited ulimit -c unlimited - ctest -j$(nproc) --output-on-failure + ctest --timeout 300 -j$(nproc) --output-on-failure working-directory: build - name: check-cores if: ${{ failure() && steps.test.conclusion == 'failure' }} @@ -326,9 +326,9 @@ jobs: with: name: ubuntu-binaries path: build/bin - ubuntu_22_04_clang: - name: "ubuntu-22.04-clang" - runs-on: ubuntu-22.04 + ubuntu_22_04_clang_arm: + name: "Ubuntu 22.04 clang aarch64" + runs-on: ubuntu-22.04-arm timeout-minutes: 240 env: UBUNTU_CLANG_MINIFI_OPTIONS: >- @@ -383,10 +383,10 @@ jobs: uses: actions/cache/restore@v4 with: path: ${{ env.CCACHE_DIR }} - key: ubuntu-22.04-all-clang-ccache-${{github.ref}}-${{github.sha}} + key: ubuntu-22.04-arm-all-clang-ccache-${{github.ref}}-${{github.sha}} restore-keys: | - ubuntu-22.04-all-clang-ccache-${{github.ref}}- - ubuntu-22.04-all-clang-ccache-refs/heads/main- + ubuntu-22.04-arm-all-clang-ccache-${{github.ref}}- + ubuntu-22.04-arm-all-clang-ccache-refs/heads/main- - id: install_deps run: | wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - @@ -423,13 +423,13 @@ jobs: if: always() with: path: ${{ env.CCACHE_DIR }} - key: ubuntu-22.04-all-clang-ccache-${{github.ref}}-${{github.sha}} + key: ubuntu-22.04-arm-all-clang-ccache-${{github.ref}}-${{github.sha}} - name: test id: test run: | # Set core file size limit to unlimited ulimit -c unlimited - ctest -j$(nproc) --output-on-failure + ctest --timeout 300 -j$(nproc) --output-on-failure working-directory: build - name: linter run: cmake --build . --target linter @@ -474,7 +474,7 @@ jobs: name: ubuntu-clang-binaries path: build/bin rocky: - name: "rocky" + name: "Rocky (docker) x86_64" runs-on: ubuntu-24.04 timeout-minutes: 180 steps: @@ -543,7 +543,7 @@ jobs: name: rocky-binaries path: /tmp/bin docker_build: - name: "Docker build for integration tests" + name: "Docker build for integration tests (x86_64)" runs-on: ubuntu-22.04 timeout-minutes: 180 steps: @@ -587,7 +587,7 @@ jobs: name: minifi_docker path: build/minifi_docker.tar docker_tests: - name: "Docker integration tests" + name: "Docker integration tests (x86_64)" needs: docker_build runs-on: ubuntu-24.04 timeout-minutes: 180 diff --git a/.github/workflows/verify-package.yml b/.github/workflows/verify-package.yml index b5a788324b..99df50230e 100644 --- a/.github/workflows/verify-package.yml +++ b/.github/workflows/verify-package.yml @@ -1,10 +1,12 @@ name: "MiNiFi-CPP Verify Package" -on: [workflow_dispatch] +on: + schedule: + - cron: '0 0 * * 0' + workflow_dispatch: env: DOCKER_CMAKE_FLAGS: -DDOCKER_VERIFY_THREAD=3 -DUSE_SHARED_LIBS= -DSTRICT_GSL_CHECKS=AUDIT -DCI_BUILD=ON -DENABLE_AWS=ON -DENABLE_KAFKA=ON -DENABLE_MQTT=ON -DENABLE_AZURE=ON -DENABLE_SQL=ON \ -DENABLE_SPLUNK=ON -DENABLE_GCP=ON -DENABLE_OPC=ON -DENABLE_PYTHON_SCRIPTING=ON -DENABLE_LUA_SCRIPTING=ON -DENABLE_KUBERNETES=ON -DENABLE_TEST_PROCESSORS=ON -DENABLE_PROMETHEUS=ON \ -DENABLE_ELASTICSEARCH=OFF -DENABLE_GRAFANA_LOKI=ON -DENABLE_COUCHBASE=ON -DDOCKER_BUILD_ONLY=ON - CCACHE_DIR: ${{ GITHUB.WORKSPACE }}/.ccache jobs: rocky-x86-64-build: name: "Build package (Rocky 8 x86_64)" @@ -13,29 +15,13 @@ jobs: steps: - id: checkout uses: actions/checkout@v4 - - name: cache restore - uses: actions/cache/restore@v4 - with: - path: ~/.ccache - key: verify-package-ccache-${{github.ref}}-${{github.sha}} - restore-keys: | - verify-package-ccache-${{github.ref}}- - verify-package-ccache-refs/heads/main- - id: install_deps run: | sudo apt update - sudo apt install -y ccache cmake - echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV + sudo apt install -y cmake - id: build run: | - if [ -d ~/.ccache ]; then mv ~/.ccache .; fi - mkdir build && cd build && cmake ${DOCKER_CMAKE_FLAGS} -DDOCKER_CCACHE_DUMP_LOCATION=${{ env.CCACHE_DIR }} .. && make rocky - - name: cache save - uses: actions/cache/save@v4 - if: always() - with: - path: ${{ env.CCACHE_DIR }} - key: verify-package-ccache-${{github.ref}}-${{github.sha}} + mkdir build && cd build && cmake ${DOCKER_CMAKE_FLAGS} .. && make rocky - uses: actions/upload-artifact@v4 with: name: minifi-x86-64-tar @@ -49,29 +35,13 @@ jobs: steps: - id: checkout uses: actions/checkout@v4 - - name: cache restore - uses: actions/cache/restore@v4 - with: - path: ~/.ccache - key: verify-package-arm-ccache-${{github.ref}}-${{github.sha}} - restore-keys: | - verify-package-arm-ccache-${{github.ref}}- - verify-package-arm-ccache-refs/heads/main- - id: install_deps run: | sudo apt update - sudo apt install -y ccache cmake - echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV + sudo apt install -y cmake - id: build run: | - if [ -d ~/.ccache ]; then mv ~/.ccache .; fi - mkdir build && cd build && cmake ${DOCKER_CMAKE_FLAGS} -DDOCKER_CCACHE_DUMP_LOCATION=${{ env.CCACHE_DIR }} .. && make rocky - - name: cache save - uses: actions/cache/save@v4 - if: always() - with: - path: ${{ env.CCACHE_DIR }} - key: verify-package-arm-ccache-${{github.ref}}-${{github.sha}} + mkdir build && cd build && cmake ${DOCKER_CMAKE_FLAGS} .. && make rocky - uses: actions/upload-artifact@v4 with: name: minifi-aarch64-tar diff --git a/cmake/DockerConfig.cmake b/cmake/DockerConfig.cmake index 956d0c097d..d1d88d65e9 100644 --- a/cmake/DockerConfig.cmake +++ b/cmake/DockerConfig.cmake @@ -152,7 +152,7 @@ if (EXISTS ${CMAKE_SOURCE_DIR}/docker/test/integration/features) endif() endforeach() - set(DISABLED_TAGS "SKIP_CI,NEEDS_NUMPY") + set(DISABLED_TAGS "SKIP_CI") add_custom_target( docker-verify @@ -172,5 +172,4 @@ function(CREATE_DOCKER_TARGET_FROM_ROCKY_PACKAGE BASE_IMAGE TAG_PREFIX INSTALL_P ${CMAKE_BINARY_DIR}) endfunction() -include(VerifyPythonCompatibility) include(VerifyPackageWithDocker) diff --git a/cmake/VerifyPackageWithDocker.cmake b/cmake/VerifyPackageWithDocker.cmake index af201791a9..0a76710f8e 100644 --- a/cmake/VerifyPackageWithDocker.cmake +++ b/cmake/VerifyPackageWithDocker.cmake @@ -28,7 +28,7 @@ function(ADD_PACKAGE_VERIFY TAG_PREFIX) endif() endforeach() - set(DISABLED_TAGS "SKIP_CI,NEEDS_NUMPY") + set(DISABLED_TAGS "SKIP_CI") add_custom_target( docker-verify-${TAG_PREFIX} diff --git a/cmake/VerifyPythonCompatibility.cmake b/cmake/VerifyPythonCompatibility.cmake deleted file mode 100644 index a8b11f5b0f..0000000000 --- a/cmake/VerifyPythonCompatibility.cmake +++ /dev/null @@ -1,72 +0,0 @@ -# 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. - -if (NOT (ENABLE_ALL OR ENABLE_PYTHON_SCRIPTING)) - return() -endif() - -set(MINIFI_VERSION_STR ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) - -function(ADD_DOCKER_VERIFY_PYTHON TAG_PREFIX HAS_MODULES) - if (HAS_MODULES) - add_custom_target( - docker-verify-${TAG_PREFIX} - COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh --image-tag-prefix ${TAG_PREFIX} ${MINIFI_VERSION_STR} ENABLE_PYTHON_SCRIPTING) - else() - add_custom_target( - docker-verify-${TAG_PREFIX} - COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh --image-tag-prefix ${TAG_PREFIX} ${MINIFI_VERSION_STR} ENABLE_PYTHON_SCRIPTING --tags_to_exclude NEEDS_NUMPY) - endif() -endfunction() - -function(ADD_CONDA_TO_DOCKER TAG_PREFIX) - add_custom_target( - conda_${TAG_PREFIX}_from_rocky_package - COMMAND DOCKER_BUILDKIT=1 docker build - --build-arg BASE_IMAGE=apacheminificpp:${TAG_PREFIX}-${MINIFI_VERSION_STR} - -t apacheminificpp:conda_${TAG_PREFIX}-${MINIFI_VERSION_STR} - -f ${CMAKE_SOURCE_DIR}/docker/python-verify/conda.Dockerfile - ${CMAKE_BINARY_DIR}) -endfunction() - -function(ADD_VENV_TO_DOCKER TAG_PREFIX) - add_custom_target( - venv_${TAG_PREFIX}_from_rocky_package - COMMAND DOCKER_BUILDKIT=1 docker build - --build-arg BASE_IMAGE=apacheminificpp:${TAG_PREFIX}-${MINIFI_VERSION_STR} - -t apacheminificpp:venv_${TAG_PREFIX}-${MINIFI_VERSION_STR} - -f ${CMAKE_SOURCE_DIR}/docker/python-verify/venv.Dockerfile - ${CMAKE_BINARY_DIR}) -endfunction() - - -CREATE_DOCKER_TARGET_FROM_ROCKY_PACKAGE(debian:bullseye patched_bullseye_py "apt update \\&\\& apt install -y patchelf libpython3-dev python3-venv python3-pip wget \\&\\& patchelf /opt/minifi/minifi-current/extensions/libminifi-python-script-extension.so --replace-needed libpython3.so libpython3.9.so") -CREATE_DOCKER_TARGET_FROM_ROCKY_PACKAGE(ubuntu:jammy patched_jammy_py "apt update \\&\\& apt install -y patchelf libpython3.10-dev python3.10-venv python3-pip wget \\&\\& patchelf /opt/minifi/minifi-current/extensions/libminifi-python-script-extension.so --replace-needed libpython3.so libpython3.10.so.1.0") -CREATE_DOCKER_TARGET_FROM_ROCKY_PACKAGE(rockylinux:8 rocky8_py "yum install -y python3-libs python3-pip python3-devel gcc-c++ wget") -CREATE_DOCKER_TARGET_FROM_ROCKY_PACKAGE(rockylinux:9 rocky9_py "yum install -y python3-libs python3-pip wget") -CREATE_DOCKER_TARGET_FROM_ROCKY_PACKAGE(ubuntu:jammy jammy_py "apt update \\&\\& apt install -y wget") -ADD_CONDA_TO_DOCKER(jammy_py) -ADD_VENV_TO_DOCKER(rocky9_py) - -if (EXISTS ${CMAKE_SOURCE_DIR}/docker/test/integration/features) - ADD_DOCKER_VERIFY_PYTHON(rocky8_py FALSE) - ADD_DOCKER_VERIFY_PYTHON(rocky9_py FALSE) - ADD_DOCKER_VERIFY_PYTHON(patched_jammy_py FALSE) - ADD_DOCKER_VERIFY_PYTHON(patched_bullseye_py FALSE) - ADD_DOCKER_VERIFY_PYTHON(conda_jammy_py TRUE) - ADD_DOCKER_VERIFY_PYTHON(venv_rocky9_py TRUE) -endif() diff --git a/docker/test/integration/features/couchbase.feature b/docker/test/integration/features/couchbase.feature index 7b74a6c3dd..90cb0df0de 100644 --- a/docker/test/integration/features/couchbase.feature +++ b/docker/test/integration/features/couchbase.feature @@ -29,6 +29,7 @@ Feature: Executing Couchbase operations from MiNiFi-C++ And a CouchbaseClusterService is setup up with the name "CouchbaseClusterService" And the "success" relationship of the GetFile processor is connected to the PutCouchbaseKey + And the "failure" relationship of the PutCouchbaseKey processor is connected to the PutCouchbaseKey And the "success" relationship of the PutCouchbaseKey processor is connected to the LogAttribute When a Couchbase server is started @@ -53,6 +54,7 @@ Feature: Executing Couchbase operations from MiNiFi-C++ And a CouchbaseClusterService is setup up with the name "CouchbaseClusterService" And the "success" relationship of the GetFile processor is connected to the PutCouchbaseKey + And the "failure" relationship of the PutCouchbaseKey processor is connected to the PutCouchbaseKey And the "success" relationship of the PutCouchbaseKey processor is connected to the LogAttribute When a Couchbase server is started @@ -80,6 +82,7 @@ Feature: Executing Couchbase operations from MiNiFi-C++ And a CouchbaseClusterService is setup up with the name "CouchbaseClusterService" And the "success" relationship of the GetFile processor is connected to the PutCouchbaseKey + And the "failure" relationship of the PutCouchbaseKey processor is connected to the PutCouchbaseKey And the "success" relationship of the PutCouchbaseKey processor is connected to the GetCouchbaseKey And the "success" relationship of the GetCouchbaseKey processor is connected to the PutFile And the "success" relationship of the PutFile processor is connected to the LogAttribute @@ -109,6 +112,7 @@ Feature: Executing Couchbase operations from MiNiFi-C++ And a CouchbaseClusterService is setup up with the name "CouchbaseClusterService" And the "success" relationship of the GetFile processor is connected to the PutCouchbaseKey + And the "failure" relationship of the PutCouchbaseKey processor is connected to the PutCouchbaseKey And the "success" relationship of the PutCouchbaseKey processor is connected to the GetCouchbaseKey And the "success" relationship of the GetCouchbaseKey processor is connected to the PutFile And the "success" relationship of the PutFile processor is connected to the LogAttribute @@ -139,6 +143,7 @@ Feature: Executing Couchbase operations from MiNiFi-C++ And a CouchbaseClusterService is setup up with the name "CouchbaseClusterService" And the "success" relationship of the GetFile processor is connected to the PutCouchbaseKey + And the "failure" relationship of the PutCouchbaseKey processor is connected to the PutCouchbaseKey And the "success" relationship of the PutCouchbaseKey processor is connected to the GetCouchbaseKey And the "success" relationship of the GetCouchbaseKey processor is connected to the PutFile And the "success" relationship of the PutFile processor is connected to the LogAttribute @@ -167,6 +172,7 @@ Feature: Executing Couchbase operations from MiNiFi-C++ And a CouchbaseClusterService is setup up with the name "CouchbaseClusterService" And the "success" relationship of the GetFile processor is connected to the PutCouchbaseKey + And the "failure" relationship of the PutCouchbaseKey processor is connected to the PutCouchbaseKey And the "success" relationship of the PutCouchbaseKey processor is connected to the GetCouchbaseKey When a Couchbase server is started @@ -190,6 +196,7 @@ Feature: Executing Couchbase operations from MiNiFi-C++ And a CouchbaseClusterService is set up up with SSL connection with the name "CouchbaseClusterService" And the "success" relationship of the GetFile processor is connected to the PutCouchbaseKey + And the "failure" relationship of the PutCouchbaseKey processor is connected to the PutCouchbaseKey And the "success" relationship of the PutCouchbaseKey processor is connected to the GetCouchbaseKey And the "success" relationship of the GetCouchbaseKey processor is connected to the PutFile And the "success" relationship of the PutFile processor is connected to the LogAttribute @@ -218,6 +225,7 @@ Feature: Executing Couchbase operations from MiNiFi-C++ And a CouchbaseClusterService is setup up using mTLS authentication with the name "CouchbaseClusterService" And the "success" relationship of the GetFile processor is connected to the PutCouchbaseKey + And the "failure" relationship of the PutCouchbaseKey processor is connected to the PutCouchbaseKey And the "success" relationship of the PutCouchbaseKey processor is connected to the GetCouchbaseKey And the "success" relationship of the GetCouchbaseKey processor is connected to the PutFile And the "success" relationship of the PutFile processor is connected to the LogAttribute diff --git a/docker/test/integration/features/python_with_modules.feature b/docker/test/integration/features/python_with_modules.feature deleted file mode 100644 index 85272a7aa9..0000000000 --- a/docker/test/integration/features/python_with_modules.feature +++ /dev/null @@ -1,30 +0,0 @@ -# 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. - -@ENABLE_PYTHON_SCRIPTING -@NEEDS_NUMPY -Feature: MiNiFi can use python modules - Background: - Given the content of "/tmp/output" is monitored - - Scenario: MiNiFi can use python modules - Given the example MiNiFi python processors are present - And a GaussianDistributionWithNumpy processor - And the scheduling period of the GaussianDistributionWithNumpy processor is set to "10 min" - And a PutFile processor with the "Directory" property set to "/tmp/output" - And the "success" relationship of the GaussianDistributionWithNumpy processor is connected to the PutFile - - When the MiNiFi instance starts up - Then 1 flowfile is placed in the monitored directory in 20 seconds diff --git a/extensions/standard-processors/modbus/ReadModbusFunctions.cpp b/extensions/standard-processors/modbus/ReadModbusFunctions.cpp index 0eaf49e473..6ade0dcf3c 100644 --- a/extensions/standard-processors/modbus/ReadModbusFunctions.cpp +++ b/extensions/standard-processors/modbus/ReadModbusFunctions.cpp @@ -21,6 +21,7 @@ #include namespace org::apache::nifi::minifi::modbus { + std::vector ReadModbusFunction::requestBytes() const { constexpr std::array modbus_service_protocol_identifier = {std::byte{0}, std::byte{0}}; const auto pdu = rawPdu(); diff --git a/extensions/standard-processors/modbus/ReadModbusFunctions.h b/extensions/standard-processors/modbus/ReadModbusFunctions.h index 8433c73520..cf6be30616 100644 --- a/extensions/standard-processors/modbus/ReadModbusFunctions.h +++ b/extensions/standard-processors/modbus/ReadModbusFunctions.h @@ -69,7 +69,7 @@ class ReadModbusFunction { const uint8_t unit_id_; }; -class ReadCoilStatus final : public ReadModbusFunction { +class ReadCoilStatus : public ReadModbusFunction { public: ReadCoilStatus(const uint16_t transaction_id, const uint8_t unit_id, const uint16_t starting_address, const uint16_t number_of_points) : ReadModbusFunction(transaction_id, unit_id), @@ -94,7 +94,7 @@ class ReadCoilStatus final : public ReadModbusFunction { }; template -class ReadRegisters final : public ReadModbusFunction { +class ReadRegisters : public ReadModbusFunction { public: ReadRegisters(const RegisterType register_type, const uint16_t transaction_id, const uint8_t unit_id, const uint16_t starting_address, const uint16_t number_of_points) : ReadModbusFunction(transaction_id, unit_id), diff --git a/extensions/windows-event-log/tests/ConsumeWindowsEventLogTests.cpp b/extensions/windows-event-log/tests/ConsumeWindowsEventLogTests.cpp index e2061d6448..63e7fed080 100644 --- a/extensions/windows-event-log/tests/ConsumeWindowsEventLogTests.cpp +++ b/extensions/windows-event-log/tests/ConsumeWindowsEventLogTests.cpp @@ -359,7 +359,7 @@ TEST_CASE("ConsumeWindowsEventLog prints events in plain text correctly", "[onTr CHECK(event.find(R"(Date: )") != std::string::npos); CHECK(event.find(R"(Record ID: )") != std::string::npos); CHECK(event.find(R"(Event ID: 14985)") != std::string::npos); - CHECK(event.find(R"(Task Category: N/A)") != std::string::npos); + CHECK((event.find(R"(Task Category: N/A)") != std::string::npos || event.find(R"(Task Category: None)") != std::string::npos)); CHECK(event.find(R"(Level: Information)") != std::string::npos); CHECK(event.find(R"(Keywords: Classic)") != std::string::npos); CHECK(event.find(R"(User: N/A)") != std::string::npos); From 58dc95b07e03e5559454241deebcff579855cab1 Mon Sep 17 00:00:00 2001 From: Martin Zink Date: Wed, 26 Feb 2025 16:33:33 +0100 Subject: [PATCH 2/2] remove ubuntu 24.04 --- .github/workflows/ci.yml | 98 ---------------------------------------- 1 file changed, 98 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4b65bf94c5..ad0938ed26 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -228,104 +228,6 @@ jobs: with: name: cpack_error path: D:/a/nifi-minifi-cpp/nifi-minifi-cpp/build/_CPack_Packages/win64/WIX/wix.log - ubuntu_24_04: - name: "Ubuntu 24.04 x86_64" - runs-on: ubuntu-24.04 - timeout-minutes: 120 - env: - UBUNTU_GCC_MINIFI_OPTIONS: >- - -DCMAKE_BUILD_TYPE=Release - -DCI_BUILD=OFF - -DCUSTOM_MALLOC=OFF - -DDOCKER_BUILD_ONLY=OFF - -DDOCKER_PUSH=OFF - -DDOCKER_SKIP_TESTS=ON - -DENABLE_ALL=OFF - -DENABLE_AWS=OFF - -DENABLE_AZURE=OFF - -DENABLE_BUSTACHE=ON - -DENABLE_BZIP2=ON - -DENABLE_CIVET=ON - -DENABLE_CONTROLLER=ON - -DENABLE_COUCHBASE=OFF - -DENABLE_ELASTICSEARCH=OFF - -DENABLE_ENCRYPT_CONFIG=ON - -DENABLE_EXPRESSION_LANGUAGE=ON - -DENABLE_GCP=OFF - -DENABLE_KUBERNETES=OFF - -DENABLE_LIBARCHIVE=ON - -DENABLE_KAFKA=OFF - -DENABLE_LUA_SCRIPTING=OFF - -DENABLE_LZMA=ON - -DENABLE_MQTT=OFF - -DENABLE_OPC=OFF - -DENABLE_OPENCV=OFF - -DENABLE_OPS=ON - -DENABLE_PROCFS=OFF - -DENABLE_PROMETHEUS=ON - -DENABLE_PYTHON_SCRIPTING=OFF - -DENABLE_ROCKSDB=ON - -DENABLE_SFTP=ON - -DENABLE_SPLUNK=OFF - -DENABLE_SQL=OFF - -DENABLE_SYSTEMD=ON - -DENABLE_TEST_PROCESSORS=OFF - -DFORCE_COLORED_OUTPUT=ON - -DMINIFI_FAIL_ON_WARNINGS=ON - -DPORTABLE=ON - -DSKIP_TESTS=OFF - -DMINIFI_USE_REAL_ODBC_TEST_DRIVER=OFF - -DUSE_SHARED_LIBS=ON - steps: - - id: checkout - uses: actions/checkout@v4 - - name: cache restore - uses: actions/cache/restore@v4 - with: - path: ${{ env.CCACHE_DIR }} - key: ubuntu-24.04-ccache-${{github.ref}}-${{github.sha}} - restore-keys: | - ubuntu-24.04-ccache-${{github.ref}}- - ubuntu-24.04-ccache-refs/heads/main- - - id: install_deps - run: | - sudo apt update - sudo apt install -y ccache libfl-dev python3 python3-venv - echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV - echo -e "127.0.0.1\t$HOSTNAME" | sudo tee -a /etc/hosts > /dev/null - - name: build - run: | - python3 -m venv venv && source venv/bin/activate \ - && pip install -r requirements.txt \ - && python main.py --noninteractive --minifi-options="${UBUNTU_GCC_MINIFI_OPTIONS}" --cmake-options="-DSTRICT_GSL_CHECKS=AUDIT" - working-directory: bootstrap - - name: cache save - uses: actions/cache/save@v4 - if: always() - with: - path: ${{ env.CCACHE_DIR }} - key: ubuntu-24.04-ccache-${{github.ref}}-${{github.sha}} - - name: test - id: test - run: | - # Set core file size limit to unlimited - ulimit -c unlimited - ctest --timeout 300 -j$(nproc) --output-on-failure - working-directory: build - - name: check-cores - if: ${{ failure() && steps.test.conclusion == 'failure' }} - run: | - if [ "$(ls -A /var/lib/apport/coredump/)" ]; then echo "CORES_EXIST=true" >> $GITHUB_ENV; fi - - uses: actions/upload-artifact@v4 - if: ${{ failure() && env.CORES_EXIST == 'true' }} - with: - name: ubuntu-coredumps - path: /var/lib/apport/coredump/ - - uses: actions/upload-artifact@v4 - if: ${{ failure() && env.CORES_EXIST == 'true' }} - with: - name: ubuntu-binaries - path: build/bin ubuntu_22_04_clang_arm: name: "Ubuntu 22.04 clang aarch64" runs-on: ubuntu-22.04-arm