一键导入
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