From b21f1327a0897686a2241f58eb0b4a37762c785d Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Wed, 21 Jan 2026 17:41:42 +1100 Subject: [PATCH 01/16] Include cmd file into CMakeLists file. --- bmf/CMakeLists.txt | 58 ++++++++++++++++----------------------------- bmf/__init__.py | 2 ++ bmf/cmd/__init__.py | 1 + 3 files changed, 24 insertions(+), 37 deletions(-) create mode 100644 bmf/cmd/__init__.py diff --git a/bmf/CMakeLists.txt b/bmf/CMakeLists.txt index 5eeebf87..9a2c1c97 100644 --- a/bmf/CMakeLists.txt +++ b/bmf/CMakeLists.txt @@ -3,6 +3,7 @@ add_subdirectory(sdk) #add_subdirectory(go_module_sdk) #FIXME: compile failed add_subdirectory(engine) add_subdirectory(c_modules) + if (NOT EMSCRIPTEN) add_subdirectory(python_modules) # XXX: no go modules now @@ -45,21 +46,12 @@ else() ) endif() -if(NOT WIN32) - add_custom_command( - OUTPUT - ${CMAKE_CURRENT_BINARY_DIR}/__always_update - ${CMAKE_CURRENT_BINARY_DIR}/always_update - COMMAND touch ${CMAKE_CURRENT_BINARY_DIR}/always_update - ) -else() - add_custom_command( - OUTPUT - ${CMAKE_CURRENT_BINARY_DIR}/__always_update - ${CMAKE_CURRENT_BINARY_DIR}/always_update - COMMAND copy /Y NUL \"${CMAKE_CURRENT_BINARY_DIR}/always_update\" - ) -endif() +add_custom_command( + OUTPUT + ${CMAKE_CURRENT_BINARY_DIR}/__always_update + ${CMAKE_CURRENT_BINARY_DIR}/always_update + COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/always_update +) function(copy_dir_to_bmf_module) if(ARGV1) @@ -81,17 +73,17 @@ if(NOT IOS) copy_dir_to_bmf_module(modules) copy_dir_to_bmf_module(python_sdk) copy_dir_to_bmf_module(server) - copy_dir_to_bmf_module(sdk/cpp_sdk/include include) copy_dir_to_bmf_module(engine/connector/include include) if(BMF_ENABLE_TEST) copy_dir_to_bmf_module(demo ../demo) copy_dir_to_bmf_module(test ../test) copy_dir_to_bmf_module(engine/c_engine/files files) endif() -else() - copy_dir_to_bmf_module(sdk/cpp_sdk/include include) endif() +copy_dir_to_bmf_module(sdk/cpp_sdk/include include) +copy_dir_to_bmf_module(cmd) + #### if(ANDROID) add_custom_command(TARGET bmf_assem @@ -149,10 +141,9 @@ endif() # COPY hmp related resources set(HMP_ROOT ${PROJECT_SOURCE_DIR}/bmf/hmp) - -add_custom_command(TARGET bmf_assem - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy $ ${BMF_ASSEMBLE_ROOT}/bmf/lib + add_custom_command(TARGET bmf_assem + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy $ ${BMF_ASSEMBLE_ROOT}/bmf/lib ) if (BMF_LOCAL_DEPENDENCIES) @@ -164,25 +155,19 @@ endif() ## copy symbol link of hmp and _jhmp if(NOT APPLE AND NOT ANDROID AND NOT EMSCRIPTEN) - if(WIN32) - add_custom_command(TARGET bmf_assem - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy - $/${CMAKE_SHARED_LIBRARY_PREFIX}hmp${CMAKE_SHARED_LIBRARY_SUFFIX} ${BMF_ASSEMBLE_ROOT}/bmf/lib - ) - else() - add_custom_command(TARGET bmf_assem - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy - $/${CMAKE_SHARED_LIBRARY_PREFIX}hmp${CMAKE_SHARED_LIBRARY_SUFFIX}* ${BMF_ASSEMBLE_ROOT}/bmf/lib - ) - endif() + add_custom_command(TARGET bmf_assem + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + $/ + ${BMF_ASSEMBLE_ROOT}/bmf/lib/ + ) if(BMF_ENABLE_JNI) add_custom_command(TARGET bmf_assem POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy - $/${CMAKE_SHARED_LIBRARY_PREFIX}_jhmp${CMAKE_SHARED_LIBRARY_SUFFIX}* ${BMF_ASSEMBLE_ROOT}/bmf/lib + $/ + ${BMF_ASSEMBLE_ROOT}/bmf/lib/ ) endif() endif() @@ -226,7 +211,6 @@ if(TARGET _hmp) ${BMF_ASSEMBLE_ROOT}/bmf/hmp/) endif() - if(IOS) if(BUILD_SHARED_LIBS OR NOT BMF_LOCAL_DEPENDENCIES) message(FATAL_ERROR "Only support static build for IOS platform") diff --git a/bmf/__init__.py b/bmf/__init__.py index 46af70d5..4a9b987a 100644 --- a/bmf/__init__.py +++ b/bmf/__init__.py @@ -29,5 +29,7 @@ GraphConfig, get_module_file_dependencies, ff_filter from .server import ServerGateway, ServerGatewayNew +from .cmd import find_in_python_root, exec_cmd, run_bmf_graph, trace_format_log, module_manager, bmf_env + if platform.system().lower() != 'windows': sys.setdlopenflags(flags) diff --git a/bmf/cmd/__init__.py b/bmf/cmd/__init__.py new file mode 100644 index 00000000..adbb9153 --- /dev/null +++ b/bmf/cmd/__init__.py @@ -0,0 +1 @@ +from .python_wrapper.wrapper import find_in_python_root, exec_cmd, run_bmf_graph, trace_format_log, module_manager, bmf_env \ No newline at end of file From c9a51b6c2a6b4d16f7dc3dd93345eeda3bdd429b Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Wed, 21 Jan 2026 17:42:32 +1100 Subject: [PATCH 02/16] Account for unitialised GIT_SHA variable --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 3403a4bc..e7e8786d 100644 --- a/setup.py +++ b/setup.py @@ -89,7 +89,7 @@ def build_extension(self, ext: CMakeExtension) -> None: # Can be set with Conda-Build, for example. cmake_generator = os.environ.get("CMAKE_GENERATOR", "") - sha = os.environ.get("GIT_SHA") + sha = os.environ.get("GIT_SHA", "") short_sha = sha[:7] # Set Python_EXECUTABLE instead if you use PYBIND11_FINDPYTHON From ee2e5f17717059cd682fedce138edc70fae4821a Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Wed, 21 Jan 2026 17:45:33 +1100 Subject: [PATCH 03/16] Adjust indentation --- bmf/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bmf/CMakeLists.txt b/bmf/CMakeLists.txt index 9a2c1c97..418d2298 100644 --- a/bmf/CMakeLists.txt +++ b/bmf/CMakeLists.txt @@ -141,9 +141,9 @@ endif() # COPY hmp related resources set(HMP_ROOT ${PROJECT_SOURCE_DIR}/bmf/hmp) - add_custom_command(TARGET bmf_assem - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy $ ${BMF_ASSEMBLE_ROOT}/bmf/lib +add_custom_command(TARGET bmf_assem + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy $ ${BMF_ASSEMBLE_ROOT}/bmf/lib ) if (BMF_LOCAL_DEPENDENCIES) From bd657854c318617bff214f8d9751f0d4a18eb02c Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Thu, 22 Jan 2026 09:01:11 +1100 Subject: [PATCH 04/16] Change behaviour to copy directory rather than file --- bmf/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bmf/CMakeLists.txt b/bmf/CMakeLists.txt index 418d2298..bf37c826 100644 --- a/bmf/CMakeLists.txt +++ b/bmf/CMakeLists.txt @@ -157,7 +157,7 @@ endif() if(NOT APPLE AND NOT ANDROID AND NOT EMSCRIPTEN) add_custom_command(TARGET bmf_assem POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy + COMMAND ${CMAKE_COMMAND} -E copy_directory $/ ${BMF_ASSEMBLE_ROOT}/bmf/lib/ ) @@ -165,7 +165,7 @@ if(NOT APPLE AND NOT ANDROID AND NOT EMSCRIPTEN) if(BMF_ENABLE_JNI) add_custom_command(TARGET bmf_assem POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy + COMMAND ${CMAKE_COMMAND} -E copy_directory $/ ${BMF_ASSEMBLE_ROOT}/bmf/lib/ ) From 987d39cbd26fd9e69bfe1184125994c514a967a4 Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Fri, 23 Jan 2026 10:58:39 +1100 Subject: [PATCH 05/16] add custom command to directly copy modules to bin library for windows --- bmf/CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bmf/CMakeLists.txt b/bmf/CMakeLists.txt index bf37c826..eb3c95fd 100644 --- a/bmf/CMakeLists.txt +++ b/bmf/CMakeLists.txt @@ -162,6 +162,13 @@ if(NOT APPLE AND NOT ANDROID AND NOT EMSCRIPTEN) ${BMF_ASSEMBLE_ROOT}/bmf/lib/ ) + add_custom_command(TARGET bmf_assem + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + $/ + ${BMF_ASSEMBLE_ROOT}/bmf/bin/ + ) + if(BMF_ENABLE_JNI) add_custom_command(TARGET bmf_assem POST_BUILD From 4c43fe1cbd1d1adf82b08ba2c06d6e66ac8f020e Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Fri, 23 Jan 2026 13:54:45 +1100 Subject: [PATCH 06/16] update add_directory --- bmf/CMakeLists.txt | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/bmf/CMakeLists.txt b/bmf/CMakeLists.txt index eb3c95fd..38bcb6f3 100644 --- a/bmf/CMakeLists.txt +++ b/bmf/CMakeLists.txt @@ -3,12 +3,12 @@ add_subdirectory(sdk) #add_subdirectory(go_module_sdk) #FIXME: compile failed add_subdirectory(engine) add_subdirectory(c_modules) +add_subdirectory(cmd) if (NOT EMSCRIPTEN) add_subdirectory(python_modules) # XXX: no go modules now #add_subdirectory(go_modules) - add_subdirectory(cmd) endif() if(BMF_ENABLE_TEST) @@ -162,13 +162,6 @@ if(NOT APPLE AND NOT ANDROID AND NOT EMSCRIPTEN) ${BMF_ASSEMBLE_ROOT}/bmf/lib/ ) - add_custom_command(TARGET bmf_assem - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory - $/ - ${BMF_ASSEMBLE_ROOT}/bmf/bin/ - ) - if(BMF_ENABLE_JNI) add_custom_command(TARGET bmf_assem POST_BUILD From 9503cd3a57cc6b3b7ceb4537213f51a9d69c673a Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Fri, 23 Jan 2026 14:17:05 +1100 Subject: [PATCH 07/16] Change output directories --- bmf/CMakeLists.txt | 2 +- bmf/cmd/CMakeLists.txt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bmf/CMakeLists.txt b/bmf/CMakeLists.txt index 38bcb6f3..bf37c826 100644 --- a/bmf/CMakeLists.txt +++ b/bmf/CMakeLists.txt @@ -3,12 +3,12 @@ add_subdirectory(sdk) #add_subdirectory(go_module_sdk) #FIXME: compile failed add_subdirectory(engine) add_subdirectory(c_modules) -add_subdirectory(cmd) if (NOT EMSCRIPTEN) add_subdirectory(python_modules) # XXX: no go modules now #add_subdirectory(go_modules) + add_subdirectory(cmd) endif() if(BMF_ENABLE_TEST) diff --git a/bmf/cmd/CMakeLists.txt b/bmf/cmd/CMakeLists.txt index 0fd11ba2..a638f1da 100644 --- a/bmf/cmd/CMakeLists.txt +++ b/bmf/cmd/CMakeLists.txt @@ -41,10 +41,10 @@ target_link_libraries(module_manager ) # Build targets - install(TARGETS run_bmf_graph trace_format_log module_manager - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib + RUNTIME DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + LIBRARY DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} + ARCHIVE DESTINATION ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} ) From 91c855020e7bb4d42e00bd268528a133c45a255a Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Fri, 23 Jan 2026 14:21:40 +1100 Subject: [PATCH 08/16] Update ci workflow to install setup tools --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e61b1030..17c0857b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: - name: prepare libraries run: | sudo apt update - sudo apt install -y make git pkg-config libssl-dev cmake binutils-dev libgoogle-glog-dev libunwind-dev gcc g++ golang wget libgl1 + sudo apt install -y make git pkg-config libssl-dev cmake binutils-dev libgoogle-glog-dev libunwind-dev gcc g++ golang wget libgl1 setuptools sudo apt install -y python3 python3-dev python3-pip libsndfile1 libsndfile1-dev sudo python3 -m pip install timeout_decorator numpy onnxruntime pytest opencv-python librosa # The version of ffmpeg installed via apt is 4.2, but the current test results are based on version 4.4, so here we need to compile version 4.4 of ffmpeg from source code @@ -114,7 +114,7 @@ jobs: cp -r build_win_lite/x64-Release/output . set -e python -m pip install --upgrade pip - python -m pip install timeout_decorator numpy onnxruntime pytest opencv-python + python -m pip install timeout_decorator numpy onnxruntime pytest opencv-python setuptools export PYTHONHOME="$(dirname "$(which python)")" export C_INCLUDE_PATH=${C_INCLUDE_PATH}:$(pwd)/output/bmf/include export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}:$(pwd)/output/bmf/include From da7657021d7ef407c795403c4da383c4404df31f Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Fri, 23 Jan 2026 14:25:47 +1100 Subject: [PATCH 09/16] Update ci workflow to install setup tools --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 17c0857b..4c66d49f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: - name: prepare libraries run: | sudo apt update - sudo apt install -y make git pkg-config libssl-dev cmake binutils-dev libgoogle-glog-dev libunwind-dev gcc g++ golang wget libgl1 setuptools + sudo apt install -y make git pkg-config libssl-dev cmake binutils-dev libgoogle-glog-dev libunwind-dev gcc g++ golang wget libgl1 sudo apt install -y python3 python3-dev python3-pip libsndfile1 libsndfile1-dev sudo python3 -m pip install timeout_decorator numpy onnxruntime pytest opencv-python librosa # The version of ffmpeg installed via apt is 4.2, but the current test results are based on version 4.4, so here we need to compile version 4.4 of ffmpeg from source code @@ -123,6 +123,8 @@ jobs: export PATH=$(pwd)/3rd_party/win_rootfs/x64/usr/bin:$(pwd)/3rd_party/win_rootfs/x64/usr/lib:$(pwd)/output/bmf/bin:$(pwd)/output/bmf/lib:${PATH} echo $PATH echo $(pwd) + ls output/bmf/lib + ls output/bmf/bin export HMP_TEST_DATA_ROOT=$(pwd)/bmf/hmp/tests/data ffmpeg -version module_manager help From bed03ba70c71e8bcf2b3984c63386c2edb637335 Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Fri, 23 Jan 2026 14:29:49 +1100 Subject: [PATCH 10/16] Install python packages earlier --- .github/workflows/ci.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4c66d49f..441329cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -93,6 +93,8 @@ jobs: export PATH=/usr/bin:/usr/lib:/usr/local/bin:/usr/local/lib:$PATH python -V python3 -V + python -m pip install --upgrade pip + python -m pip install timeout_decorator numpy onnxruntime pytest opencv-python setuptools echo $PATH echo "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" | sed 's/[^0-9A-Za-z]/^&/g' eval "$(./win_env/vcvarsall.sh x64)" @@ -113,8 +115,6 @@ jobs: cmake --build build_win_lite/x64-Release --config Release --target ALL_BUILD cp -r build_win_lite/x64-Release/output . set -e - python -m pip install --upgrade pip - python -m pip install timeout_decorator numpy onnxruntime pytest opencv-python setuptools export PYTHONHOME="$(dirname "$(which python)")" export C_INCLUDE_PATH=${C_INCLUDE_PATH}:$(pwd)/output/bmf/include export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}:$(pwd)/output/bmf/include @@ -123,8 +123,7 @@ jobs: export PATH=$(pwd)/3rd_party/win_rootfs/x64/usr/bin:$(pwd)/3rd_party/win_rootfs/x64/usr/lib:$(pwd)/output/bmf/bin:$(pwd)/output/bmf/lib:${PATH} echo $PATH echo $(pwd) - ls output/bmf/lib - ls output/bmf/bin + ls export HMP_TEST_DATA_ROOT=$(pwd)/bmf/hmp/tests/data ffmpeg -version module_manager help From 49f8bfedfdbd9ef9afe1fe55a6e64d650aa15465 Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Fri, 23 Jan 2026 14:32:51 +1100 Subject: [PATCH 11/16] Adjust ls dir --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 441329cb..5d193bcb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -123,7 +123,7 @@ jobs: export PATH=$(pwd)/3rd_party/win_rootfs/x64/usr/bin:$(pwd)/3rd_party/win_rootfs/x64/usr/lib:$(pwd)/output/bmf/bin:$(pwd)/output/bmf/lib:${PATH} echo $PATH echo $(pwd) - ls + ls ./output/bmf export HMP_TEST_DATA_ROOT=$(pwd)/bmf/hmp/tests/data ffmpeg -version module_manager help From 12444c3d5353aa0d0a1e84cb2190f0c037aedc57 Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Fri, 23 Jan 2026 15:07:14 +1100 Subject: [PATCH 12/16] Update pipeline to install python3.9.13 --- .github/workflows/ci.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5d193bcb..96ae1db4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,6 +84,11 @@ jobs: runs-on: windows-2022 steps: - uses: actions/checkout@v4 + - name: Build Python 3.9 + - run: | + winget install Python.Python.3.9.13 + python -V + - name: build_test shell: pwsh run: | @@ -123,7 +128,7 @@ jobs: export PATH=$(pwd)/3rd_party/win_rootfs/x64/usr/bin:$(pwd)/3rd_party/win_rootfs/x64/usr/lib:$(pwd)/output/bmf/bin:$(pwd)/output/bmf/lib:${PATH} echo $PATH echo $(pwd) - ls ./output/bmf + ls output/bmf export HMP_TEST_DATA_ROOT=$(pwd)/bmf/hmp/tests/data ffmpeg -version module_manager help From cc3edf0b208593973b3e5e1ad75cbb4b66609cac Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Fri, 23 Jan 2026 15:10:48 +1100 Subject: [PATCH 13/16] Fix ci.yml --- .github/workflows/ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 96ae1db4..bd244c47 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,11 +84,6 @@ jobs: runs-on: windows-2022 steps: - uses: actions/checkout@v4 - - name: Build Python 3.9 - - run: | - winget install Python.Python.3.9.13 - python -V - - name: build_test shell: pwsh run: | @@ -96,6 +91,7 @@ jobs: $bashCommand = @' export PATH=/usr/bin:/usr/lib:/usr/local/bin:/usr/local/lib:$PATH + winget install Python.Python.3.9.13 python -V python3 -V python -m pip install --upgrade pip From 015ba3c394a4d76f83bd8f603443d1df104c214f Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Fri, 23 Jan 2026 15:21:19 +1100 Subject: [PATCH 14/16] Update python install method --- .github/workflows/ci.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd244c47..777ca2f8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,6 +84,16 @@ jobs: runs-on: windows-2022 steps: - uses: actions/checkout@v4 + - name: Install Python 3.9.13 + shell: powershell + run: | + winget install --id Python.Python.3.9 --version 3.9.13 --exact --silent --accept-package-agreements + + # Manually add it to the path for the rest of the CI run + $pythonPath = "C:\Program Files\Python39" + echo "$pythonPath" >> $env:GITHUB_PATH + echo "$pythonPath\Scripts" >> $env:GITHUB_PATH + - name: build_test shell: pwsh run: | @@ -91,7 +101,6 @@ jobs: $bashCommand = @' export PATH=/usr/bin:/usr/lib:/usr/local/bin:/usr/local/lib:$PATH - winget install Python.Python.3.9.13 python -V python3 -V python -m pip install --upgrade pip From ff8e4cc80631e75fd024e2db3f0f13493dd8d66e Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Fri, 23 Jan 2026 15:26:54 +1100 Subject: [PATCH 15/16] use setup-python for github --- .github/workflows/ci.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 777ca2f8..3390d98f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,15 +84,12 @@ jobs: runs-on: windows-2022 steps: - uses: actions/checkout@v4 - - name: Install Python 3.9.13 + - name: Setup Python 3.9.13 shell: powershell - run: | - winget install --id Python.Python.3.9 --version 3.9.13 --exact --silent --accept-package-agreements - - # Manually add it to the path for the rest of the CI run - $pythonPath = "C:\Program Files\Python39" - echo "$pythonPath" >> $env:GITHUB_PATH - echo "$pythonPath\Scripts" >> $env:GITHUB_PATH + uses: actions/setup-python@v5 + with: + python-version: '3.9.13' + architecture: 'x64' - name: build_test shell: pwsh From 56e413ff05996a087a533fe9f3716681b7b9d60e Mon Sep 17 00:00:00 2001 From: Lithira Mahagoda Date: Fri, 23 Jan 2026 15:29:30 +1100 Subject: [PATCH 16/16] fix error --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3390d98f..9ff8208c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,7 +85,6 @@ jobs: steps: - uses: actions/checkout@v4 - name: Setup Python 3.9.13 - shell: powershell uses: actions/setup-python@v5 with: python-version: '3.9.13'