1. Please find the associated guidance to help those interested in
    validating/verifying the release so they can vote.
    # (Optional) You can follow the steps below in a docker container,
    # so you don't need to install the build dependencies on your system
    # This example uses Ubuntu 24.04 LTS
    docker run --rm -it ubuntu:24.04 /bin/bash

    # Install the necessary utilities:
    # On Ubuntu 24.04 LTS:
    apt update && apt -y install wget gnupg python3

    # Download latest KEYS file:
    wget https://dist.apache.org/repos/dist/dev/nifi/KEYS

    # Import keys file:
    gpg --import KEYS

    # Download nifi-minifi-cpp source release artifacts for review:
    VERSION=0.99.0
    wget https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/${VERSION}/nifi-minifi-cpp-${VERSION}-source.tar.gz
    wget https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/${VERSION}/nifi-minifi-cpp-${VERSION}-source.tar.gz.asc
    wget https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/${VERSION}/nifi-minifi-cpp-${VERSION}-source.tar.gz.sha256
    wget https://dist.apache.org/repos/dist/dev/nifi/nifi-minifi-cpp/${VERSION}/nifi-minifi-cpp-${VERSION}-source.tar.gz.sha512

    # Verify the signature
    gpg --verify nifi-minifi-cpp-${VERSION}-source.tar.gz.asc

    # Verify the hashes match the source and what was
    # provided in the vote email thread
    sha256sum nifi-minifi-cpp-${VERSION}-source.tar.gz
    sha512sum nifi-minifi-cpp-${VERSION}-source.tar.gz

    # Extract nifi-minifi-cpp-${VERSION}-source.tar.gz
    tar xvzf nifi-minifi-cpp-${VERSION}-source.tar.gz

    # Install build dependencies and verify the build works
    # including tests and linter checks

    # Option 1. Python bootstrap (Linux and Windows)
    # Install the dependencies of the bootstrap, and make sure sudo is usable by the current user
    apt -y install sudo python3-venv git

    # Use the bootstrap/py_bootstrap.sh script (or bootstrap/py_bootstrap.bat on Windows) to
    # select features, build options, install dependencies
    # The interface will ask for confirmation before running any commands with side-effects
    cd nifi-minifi-cpp-${VERSION}-source
    bootstrap/py_bootstrap.sh

    # Select build type, build options and features in the menu
    # and select One Click Build to build

    # run tests and linter after the build
    cd build
    ctest -j16 && cmake --build . --parallel 4 --target linter
    exit # end of Option 1

    # Option 2. Use the following commands for manual dependency installation and build: (Linux only)
    apt -y install tar build-essential libtool git libpython3-dev flex bison cmake
    cd nifi-minifi-cpp-${VERSION}-source
    mkdir build && cd build && cmake ..
    cmake --build . --parallel $(nproc) --target package
    ctest -j16 --output-on-failure
    cmake --build . --parallel 4 --target linter
    # or:
    # ./bootstrap.sh && cd build && make package && make test && make linter

    # On Windows:
    # Install dependencies as documented:
    # https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139627733

    # cd nifi-minifi-cpp-${VERSION}-source
    # win_build_vs.bat build /P

    # - Verify the contents contain a good README, NOTICE, and LICENSE.
    # - Verify the git commit ID is correct
    # - Verify the RC was branched off the correct git commit ID
    # - Look at the resulting convenience binary as found in
    # build/nifi-minifi-cpp-0.99.0.tar.gz or build/nifi-minifi-cpp.msi
    # - Make sure the README, NOTICE, and LICENSE are present and correct
    # - Run the resulting convenience binary and make sure it works as expected (you can use some example flows for verification under the ${MINIFI_SOURCE_ROOT}/examples directory)
    # - Send a response to the vote thread indicating a +1, 0, -1
    # based on your findings.

    Thank you for your time and effort to validate the release!

Release Supporting and Helper Resources

Sample NiFi and MiNiFi Configuration to transmit data from MiNiFi to NiFi via Site to Site

The following archive contains a flow.xml.gz to configure a flow with a known input port UUID to communicate with a configuration for MiNiFI C++ with the included flow.yml.

minifi-sample-config.tgz

Hashes

  • sha1sum: 5b3797924eee1a59421ff216c542cb28c3564bfe

  • sha256sum: 9323165a2086053f8d1ad5478e2b7cc97f01fbc38ba133afe77badba1a446833

Signature

Signed with the key at http://people.apache.org/keys/committer/aldrin.asc

minifi-sample-config.tgz.gpg


  • No labels

1 Comment

  1. In version 0.99.0-RC2, these unit tests will fail when running as root: FileStreamTests, FileSystemRepositoryTests, FetchFileTests
    That's normal, because some negative tests of file operations succeed anyway with superuser privileges.