From 02875f678cda5c2afde95972ab3503d50d17a5bc Mon Sep 17 00:00:00 2001 From: Martin Zink Date: Wed, 11 Mar 2026 10:01:19 +0100 Subject: [PATCH 1/4] MINIFICPP-2757 Build windows artifacts in create-release-artifacts.yml CI job --- .../workflows/create-release-artifacts.yml | 62 +++++++++++++++++++ behave_framework/pyproject.toml | 5 +- .../minifi_test_framework/core/__init__.py | 0 .../minifi_test_framework/steps/__init__.py | 0 4 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 behave_framework/src/minifi_test_framework/core/__init__.py create mode 100644 behave_framework/src/minifi_test_framework/steps/__init__.py diff --git a/.github/workflows/create-release-artifacts.yml b/.github/workflows/create-release-artifacts.yml index 4c1f6fc95c..78abac3a1e 100644 --- a/.github/workflows/create-release-artifacts.yml +++ b/.github/workflows/create-release-artifacts.yml @@ -40,3 +40,65 @@ jobs: with: name: ${{ matrix.platform.rpm-artifact }} path: build/nifi-minifi-cpp-*.rpm + windows_VS2022: + name: "Windows Server 2025 x86_64" + runs-on: windows-2025 + timeout-minutes: 240 + steps: + - name: Support longpaths + run: git config --system core.longpaths true + - name: Checkout project + uses: actions/checkout@v4 + - name: Set up Python + run: choco -y install python & refreshenv + shell: cmd + - name: Install sqliteodbc driver + run: | + Invoke-WebRequest -Uri "http://www.ch-werner.de/sqliteodbc/sqliteodbc_w64.exe" -OutFile "sqliteodbc_w64.exe" + if ((Get-FileHash 'sqliteodbc_w64.exe').Hash -ne "a4804e4f54f42c721df1323c5fcac101a8c7a577e7f20979227324ceab572d51") {Write "Hash mismatch"; Exit 1} + Start-Process -FilePath ".\sqliteodbc_w64.exe" -ArgumentList "/S" -Wait + shell: powershell + - name: build + run: | + python -m venv venv & venv\Scripts\activate & pip install -r requirements.txt & python main.py --noninteractive --skip-compiler-install --minifi-options="-DCMAKE_BUILD_TYPE=Release -DCI_BUILD=OFF -DENABLE_ALL=ON -DMINIFI_FAIL_ON_WARNINGS=OFF" + shell: cmd + working-directory: bootstrap + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: minifi-x86_64-msi + path: build/nifi-minifi-cpp.msi + extension-sdk: + name: "Extension SDK" + runs-on: 'ubuntu-24.04-arm' + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + + - name: Build Python Wheel + run: | + python -m pip install --upgrade pip + pip install build + cd behave_framework + python -m build + + - name: Bundle SDK Artifacts into ZIP + run: | + mkdir minifi-native-sdk + + cp behave_framework/dist/*.whl minifi-native-sdk/ + cp minifi-api/minifi-c-api.def minifi-native-sdk/ + cp minifi-api/include/minifi-c/minifi-c.h minifi-native-sdk/ + + zip -r minifi-native-sdk.zip minifi-native-sdk/ + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: minifi-native-sdk + path: minifi-native-sdk.zip diff --git a/behave_framework/pyproject.toml b/behave_framework/pyproject.toml index c2cc3e4b3c..e9484c285a 100644 --- a/behave_framework/pyproject.toml +++ b/behave_framework/pyproject.toml @@ -15,4 +15,7 @@ dependencies = [ [tool.setuptools] package-dir = {"" = "src"} -packages = ["minifi_test_framework"] + +[tool.setuptools.packages.find] +where = ["src"] +include = ["minifi_test_framework*"] diff --git a/behave_framework/src/minifi_test_framework/core/__init__.py b/behave_framework/src/minifi_test_framework/core/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/behave_framework/src/minifi_test_framework/steps/__init__.py b/behave_framework/src/minifi_test_framework/steps/__init__.py new file mode 100644 index 0000000000..e69de29bb2 From fbaf35a52786d4e0eb17c56ae7ee3ea1dee2ce3e Mon Sep 17 00:00:00 2001 From: Martin Zink Date: Wed, 25 Mar 2026 18:03:02 +0100 Subject: [PATCH 2/4] fix windows build --- extensions/sftp/tests/tools/SFTPTestServer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/sftp/tests/tools/SFTPTestServer.cpp b/extensions/sftp/tests/tools/SFTPTestServer.cpp index e74249b8e2..f0c4d496f4 100644 --- a/extensions/sftp/tests/tools/SFTPTestServer.cpp +++ b/extensions/sftp/tests/tools/SFTPTestServer.cpp @@ -138,10 +138,10 @@ bool SFTPTestServer::stop() { logger_->log_debug("Deleting port file {}", port_file_path_); ::unlink(port_file_path_.c_str()); } -#endif server_pid_ = -1; started_ = false; port_file_path_ = ""; +#endif return true; } From 09a8cef0f6e382623e1d8105bd02c2b49ad21c51 Mon Sep 17 00:00:00 2001 From: Martin Zink Date: Thu, 26 Mar 2026 11:11:25 +0100 Subject: [PATCH 3/4] skip tests --- .github/workflows/create-release-artifacts.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/create-release-artifacts.yml b/.github/workflows/create-release-artifacts.yml index 78abac3a1e..13a86a9f78 100644 --- a/.github/workflows/create-release-artifacts.yml +++ b/.github/workflows/create-release-artifacts.yml @@ -2,7 +2,7 @@ name: "Create Release Artifacts" on: [workflow_dispatch] env: - CMAKE_FLAGS: -DCMAKE_BUILD_TYPE=Release -DCI_BUILD=OFF -DENABLE_ALL=ON -DMINIFI_FAIL_ON_WARNINGS=OFF -DDOCKER_BUILD_ONLY=ON + CMAKE_FLAGS: -DCMAKE_BUILD_TYPE=Release -DCI_BUILD=OFF -DENABLE_ALL=ON -DMINIFI_FAIL_ON_WARNINGS=OFF -DDOCKER_BUILD_ONLY=ON -DSKIP_TESTS=ON jobs: build-linux-artifacts: @@ -60,7 +60,7 @@ jobs: shell: powershell - name: build run: | - python -m venv venv & venv\Scripts\activate & pip install -r requirements.txt & python main.py --noninteractive --skip-compiler-install --minifi-options="-DCMAKE_BUILD_TYPE=Release -DCI_BUILD=OFF -DENABLE_ALL=ON -DMINIFI_FAIL_ON_WARNINGS=OFF" + python -m venv venv && venv\Scripts\activate && pip install -r requirements.txt & python main.py --noninteractive --skip-compiler-install --minifi-options="-DCMAKE_BUILD_TYPE=Release -DCI_BUILD=OFF -DENABLE_ALL=ON -DMINIFI_FAIL_ON_WARNINGS=OFF -DSKIP_TESTS=ON" shell: cmd working-directory: bootstrap - name: Upload artifact From 4918d5bef72d9dd2c89725ddf164a0216bd8e2cb Mon Sep 17 00:00:00 2001 From: Martin Zink Date: Fri, 27 Mar 2026 07:15:30 +0100 Subject: [PATCH 4/4] replace & with && --- .github/workflows/create-release-artifacts.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-release-artifacts.yml b/.github/workflows/create-release-artifacts.yml index 13a86a9f78..59118285af 100644 --- a/.github/workflows/create-release-artifacts.yml +++ b/.github/workflows/create-release-artifacts.yml @@ -60,7 +60,7 @@ jobs: shell: powershell - name: build run: | - python -m venv venv && venv\Scripts\activate && pip install -r requirements.txt & python main.py --noninteractive --skip-compiler-install --minifi-options="-DCMAKE_BUILD_TYPE=Release -DCI_BUILD=OFF -DENABLE_ALL=ON -DMINIFI_FAIL_ON_WARNINGS=OFF -DSKIP_TESTS=ON" + python -m venv venv && venv\Scripts\activate && pip install -r requirements.txt && python main.py --noninteractive --skip-compiler-install --minifi-options="-DCMAKE_BUILD_TYPE=Release -DCI_BUILD=OFF -DENABLE_ALL=ON -DMINIFI_FAIL_ON_WARNINGS=OFF -DSKIP_TESTS=ON" shell: cmd working-directory: bootstrap - name: Upload artifact