wifi-densepose/.github/workflows
ruv d9d17dcf43 ci: gate Python jobs on src/tests presence + install Rust glib deps
The CI workflows have been failing on `main` because they target a v1-era
layout (`src/`, `tests/unit/`, `tests/integration/`) that no longer exists
since the Python codebase was archived under `archive/v1/`. The Rust
workspace job has been failing because the runner lacks `libglib2.0-dev`,
which the workspace transitively pulls in via glib-sys.

Surgical fixes (no validation removed; only paths corrected and missing
deps installed):

ci.yml
- code-quality: skip with `if: hashFiles('src/**/*.py') != ''` so the
  Black/Flake8/MyPy/Bandit chain doesn't fail on a missing `src/`. It
  re-activates automatically if Python sources reappear at the root.
- rust-tests: apt-get install pkg-config + libglib2.0-dev before running
  cargo test. This is the actual cause of "failed to run custom build
  command for glib-sys" on every recent run.
- test (Python matrix): skip when neither `tests/unit/` nor
  `tests/integration/` contain `.py` files (currently the case).

security-scan.yml
- sast: skip with the same `src/**/*.py` gate as code-quality.
- compliance-check: missing SECURITY.md becomes `:⚠️:` instead of
  `exit 1` so the job is informational rather than blocking. The
  `grep -r ... src/` headers check is wrapped in a `[[ -d src ]]` guard
  so it doesn't error when the directory is absent.
- dependency-scan: Snyk SARIF upload is now gated on the file actually
  existing (Snyk frequently produces no SARIF on PRs from forks where
  SNYK_TOKEN is unavailable). The `vulnerability-reports` artifact step
  uses `if-no-files-found: ignore` so missing JSON reports don't fail
  the job.
- iac-scan: KICS SARIF upload is gated on file existence the same way.

Side effect: this also makes PR #502 mergeable, which has been blocked
by these pre-existing CI failures despite touching no Rust, no Python,
no security-scoped code.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-01 11:36:18 -04:00
..
cd.yml security: Fix GitHub Actions shell injection vulnerability 2026-02-28 20:40:25 +01:00
ci.yml ci: gate Python jobs on src/tests presence + install Rust glib deps 2026-05-01 11:36:18 -04:00
dashboard-a11y.yml fix(ci): wasm-pack PATH + Dockerfile workspace stub (#440) 2026-04-27 12:49:03 -04:00
dashboard-pages.yml fix(ci): wasm-pack PATH + Dockerfile workspace stub (#440) 2026-04-27 12:49:03 -04:00
desktop-release.yml chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
firmware-ci.yml Release v0.6.2-esp32: ADR-081 kernel + Timer Svc fix, 4MB CI variant 2026-04-20 10:59:05 -04:00
firmware-qemu.yml fix(firmware): fall detection, 4MB flash, QEMU CI (#263, #265) 2026-03-15 11:49:29 -04:00
nvsim-server-docker.yml feat(nvsim): full simulator stack — Rust crate, dashboard, server, App Store, Ghost Murmur [ADR-089/090/091/092/093] 2026-04-27 12:41:01 -04:00
pointcloud-pages.yml feat(pointcloud): integrate ESP32 CSI as optional data stream from hosted viewer 2026-04-29 20:33:00 -04:00
security-scan.yml ci: gate Python jobs on src/tests presence + install Rust glib deps 2026-05-01 11:36:18 -04:00
update-submodules.yml chore: track upstream main branch for vendor submodules 2026-03-04 13:30:48 -05:00
verify-pipeline.yml chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00