ruvector/.github/workflows
ruvnet 208c1439cd chore(ci): green security audit + split test job into 6 matrix shards
Unblocks the 7 stacked PRs (#381-#387) and turns `main`'s CI green
for the first time in days. Two issues fixed:

## Failure 1 — Security audit (was: 8 vulnerabilities)

`cargo audit` is now exit 0. 4 of the 5 critical advisories were
fixed by version bumps; only the unfixable one is ignored.

**Dep-bumped:**
- `rustls-webpki 0.101.7` + `0.103.10` → `0.103.13` via
  `cargo update -p rustls-webpki@0.103.10`. Patches:
    RUSTSEC-2026-0098 (URI name constraints)
    RUSTSEC-2026-0099 (wildcard name constraints)
    RUSTSEC-2026-0104 (CRL parsing panic)
- `idna 0.5.0` → `1.1.0` via `validator 0.18 → 0.20` in
  `examples/scipix`. Patches RUSTSEC-2024-0421 (Punycode acceptance).
- Bonus: `reqwest 0.11 → 0.12` (in `ruvector-core` + `examples/benchmarks`)
  and `hf-hub 0.3 → 0.4` (in `ruvector-core` + `ruvllm` +
  `ruvllm-cli`). Removes the entire legacy `rustls 0.21` /
  `rustls-webpki 0.101.7` subtree from the lockfile.

**Ignored** (single advisory, with rationale):
- `RUSTSEC-2023-0071` (rsa Marvin timing sidechannel) — no upstream
  fix available; we don't expose RSA decryption services. Documented
  in `.cargo/audit.toml`.

**Unmaintained warnings** (16 total — proc-macro-error, derivative,
instant, paste, bincode 1, pqcrypto-{kyber,dilithium}, rustls-pemfile 1,
rusttype, wee_alloc, number_prefix, rand_os, core2, lru, pprof, rand) —
each given a one-line justification in `.cargo/audit.toml` so CI stays
green on them while the team decides whether to chase upstream
replacements.

## Failure 2 — Tests timeout (was: 30-min job timeout cancellation)

`.github/workflows/ci.yml` `test` job is now a `matrix` with
`fail-fast: false` and `timeout-minutes: 45`. Six parallel shards
under `cargo nextest run` (installed via `taiki-e/install-action@v2`)
plus a separate `cargo test --doc` step (nextest doesn't run
doctests):

  | Shard            | Crates                                      |
  |------------------|---------------------------------------------|
  | vector-index     | rabitq, rulake, diskann, graph, gnn, cnn    |
  | rvagent          | 10 rvagent-* crates                         |
  | ruvix            | 16 ruvix-* crates                           |
  | ruqu-quantum     | 5 ruqu* crates                              |
  | ml-research      | attention, mincut, scipix, fpga-transformer,|
  |                  | sparse-inference, sparsifier, solver,       |
  |                  | graph-transformer, domain-expansion,        |
  |                  | robotics                                    |
  | core-and-rest    | --workspace minus the above                 |

`Swatinem/rust-cache@v2` is keyed per shard. Audit job switched to
`taiki-e/install-action` for `cargo-audit` (faster than
`cargo install --locked`).

## Verification

  cargo audit                                                   → exit 0
  cargo build --workspace --exclude ruvector-postgres           → clean
  cargo clippy --workspace --exclude ruvector-postgres --no-deps -- -D warnings → exit 0
  cargo fmt --all --check                                       → exit 0

## Cargo.lock churn

166-line diff, net ~120 lines removed (more deletions than
additions). Removed: `idna 0.5.0`, `rustls-webpki 0.101.7`,
`validator 0.18`, `validator_derive 0.18`, `proc-macro-error 1.0.4`.
Added: `rustls-webpki 0.103.13`, `validator 0.20`,
`proc-macro-error2`, `hf-hub 0.4.3`, `reqwest 0.12.28`. No
suspicious crates.

## Recommended merge order

1. **This PR first** — unblocks every other PR's CI.
2. After this lands and main is green, rebase the 7 open PRs
   (#381-#387) one at a time. The DiskANN stack (#383→#384→#385→#386)
   must merge in numeric order. #381 (Python SDK), #382 (research),
   #387 (graph property index) are independent and can merge in
   any order after their CI goes green on the rebase.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-25 23:37:24 -04:00
..
agentic-synth-ci.yml feat(agentic-synth): Update RuVector adapter to use native NAPI-RS bindings (#34) 2025-12-01 13:17:26 -05:00
benchmarks.yml ci: fix benchmarks by installing PostgreSQL 17 and pgrx 2025-12-30 15:36:30 +00:00
build-attention.yml fix: use git add -f in CI workflows to commit .node binaries past .gitignore 2026-02-25 14:35:14 +00:00
build-diskann.yml feat(diskann): Vamana ANN + PQ + NAPI bindings — 14 tests, 1.0 recall, 90µs search (#334) 2026-04-06 17:55:06 -04:00
build-gnn.yml fix: use git add -f in CI workflows to commit .node binaries past .gitignore 2026-02-25 14:35:14 +00:00
build-graph-node.yml feat(postgres): Add HNSW index and embedding functions support (#62) 2025-12-09 11:14:52 -05:00
build-graph-transformer.yml fix: use git add -f in CI workflows to commit .node binaries past .gitignore 2026-02-25 14:35:14 +00:00
build-native.yml fix: use git add -f in CI workflows to commit .node binaries past .gitignore 2026-02-25 14:35:14 +00:00
build-router.yml fix(ci): read version from package.json instead of hardcoded value 2026-01-24 12:35:23 -05:00
build-rvf-node.yml fix(ci): resolve all build-rvf-node failures 2026-02-16 22:39:04 +00:00
build-tiny-dancer.yml feat(postgres): Add HNSW index and embedding functions support (#62) 2025-12-09 11:14:52 -05:00
build-verified.yml feat: add formal verification layer with lean-agentic dependent types 2026-02-25 03:45:18 +00:00
ci.yml chore(ci): green security audit + split test job into 6 matrix shards 2026-04-25 23:37:24 -04:00
clippy-fmt.yml chore(workspace): fix pre-existing test flakes + add CI -D warnings enforcement 2026-04-25 20:17:47 -04:00
copilot-setup-steps.yml fix: Add Copilot setup workflow with git clone cleanup step 2026-01-29 11:05:28 -05:00
docker-publish.yml fix(docker): include gated-transformer dependency in builds 2025-12-26 23:39:06 +00:00
edge-net-models.yml chore: Update dependency versions for crates.io publishing 2026-01-04 19:44:24 +00:00
hooks-ci.yml fix(ci): use --memory-type flag for hooks remember command 2025-12-29 17:58:38 +00:00
mirror-rulake.yml ci: mirror crates/ruvector-rulake/ + ADRs to ruvnet/RuLake on push 2026-04-24 10:29:09 -04:00
postgres-extension-ci.yml fix: add missing pg17 feature flag in pgrx test commands and fix rustdoc link errors 2026-02-21 22:44:28 +00:00
publish-all.yml fix: Update ruvector-math-wasm to use @ruvector/math-wasm scoped package 2026-01-11 17:21:16 +00:00
RELEASE-FLOW.md feat: Implement GNN forgetting mitigation (#17) 2025-11-26 23:17:07 +00:00
release-rvf-cli.yml feat(rvf-cli): add cross-platform release workflow and update README 2026-02-16 23:19:39 +00:00
RELEASE.md feat: Implement GNN forgetting mitigation (#17) 2025-11-26 23:17:07 +00:00
release.yml fix: Remove automatic npm publish from CI/CD workflows 2025-11-30 21:23:39 +00:00
ruvector-postgres-ci.yml fix: update pgrx to 0.12.9 in both CI workflows and fix formatting 2026-02-21 22:34:37 +00:00
ruvllm-benchmarks.yml feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ruvllm-build.yml feat: SONA Neural Architecture, RuvLLM, npm packages v0.1.31, and path traversal fix (#51) 2025-12-03 18:40:25 -05:00
ruvllm-native.yml feat: SONA Neural Architecture, RuvLLM, npm packages v0.1.31, and path traversal fix (#51) 2025-12-03 18:40:25 -05:00
ruvltra-tests.yml fix: CI clippy errors and Windows test failures 2026-03-16 23:21:01 -04:00
sona-napi.yml feat: SONA Neural Architecture, RuvLLM, npm packages v0.1.31, and path traversal fix (#51) 2025-12-03 18:40:25 -05:00
sync-rvf-examples.yml fix: ruvector-postgres v0.3.1 — audit bug fixes, 46 SQL functions, Docker publish (#227) 2026-03-03 12:53:10 -05:00
thermorust-ci.yml feat(thermorust): add thermodynamic neural-motif crate 2026-02-27 14:22:44 +00:00
ui-ci.yml feat(quality): ADR-144 monorepo quality analysis — Phase 1 critical fixes (#336) 2026-04-06 21:19:13 -04:00
validate-lockfile.yml fix: Resolve CI failures from platform-specific npm package conflicts 2025-11-27 15:38:11 +00:00
wasm-dedup-check.yml fix(rvf-wasm): fix Node.js CJS/ESM glue and add rvf-node CI 2026-02-16 21:33:14 +00:00