بنقرة واحدة
fix-ci-binding-test-paths
Fix CI workflow test paths after tests/bindings/ migration to per-module structure
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Fix CI workflow test paths after tests/bindings/ migration to per-module structure
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Add device information query functions through HAL → ins:: API → language bindings
Add --device all/--timer/--info CLI flags to demos across all languages for competition scoring
Add composite signal operators using existing primitives (no dedicated backend kernels needed)
How to port a cusignal Python/CUDA module to ins::signal C++ using Insight7 primitives and HAL
Profile and optimize binding language (Lua/Julia/Python) demo performance to match or exceed C++ baseline
busted loads _insight.so from ~/.luarocks/lib first, not build/ — must copy .so after rebuild
| name | fix-ci-binding-test-paths |
| description | Fix CI workflow test paths after tests/bindings/ migration to per-module structure |
| source | auto-skill |
| extracted_at | 2026-06-02T12:01:00.000Z |
After migrating from tests/bindings/ to per-module test structure (tests/cpu/{python,lua,julia}/), CI workflows need updating.
CI workflows reference old test paths like tests/bindings/test_python_binding.py which no longer exist.
- name: Test Python binding
run: |
export PYTHONPATH=bindings/python
export LD_LIBRARY_PATH=build/backends/cpu:$LD_LIBRARY_PATH
python3 -m pytest tests/cpu/python/ -v --tb=short --ignore=tests/cpu/python/test_plot.py
Note: --ignore=test_plot.py because plot tests segfault in headless CI (matplotplusplus requires display).
- name: Test Lua binding
run: |
export LUA_CPATH="$GITHUB_WORKSPACE/build/bindings/lua/?.so;;"
export LUA_PATH="$GITHUB_WORKSPACE/bindings/lua/?/init.lua;$GITHUB_WORKSPACE/bindings/lua/?.lua;;"
export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build/backends/cpu:$LD_LIBRARY_PATH
cd tests/cpu/lua && busted .
CRITICAL: Use $GITHUB_WORKSPACE absolute paths. Relative paths break when cd tests/cpu/lua changes the working directory.
- name: Test Julia binding
run: |
cp bindings/julia/Insight.jl build/bindings/julia/Insight.jl
cp -r bindings/julia/modules build/bindings/julia/modules
export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build/backends/cpu:$GITHUB_WORKSPACE/build/bindings/julia:$LD_LIBRARY_PATH
for f in tests/cpu/julia/test_*.jl; do julia "$f" || exit 1; done
CRITICAL: LD_LIBRARY_PATH must include build/bindings/julia/ where libinsight_julia.so lives.
Also update pull_request.paths to include backends/**:
pull_request:
paths:
- 'bindings/**'
- 'include/**'
- 'src/**'
- 'backends/**'
- 'CMakeLists.txt'
- '.github/workflows/<name>.yml'
After any test directory restructuring:
$GITHUB_WORKSPACE) when cd changes working directorybuild/bindings/julia/ in Julia's LD_LIBRARY_PATHpre-commit run --all-files before committing