INT-02: Add [profile.release.package.clawhdf5-format] overflow-checks=true to root Cargo.toml — provides defense-in-depth for untrusted byte offset arithmetic in the HDF5 format parser. INT-03: Install cargo-audit in Gitea CI workflow and call it from ci-test.sh with --deny warnings. The script gracefully skips the step if cargo-audit is not installed locally, so developer machines are unaffected. INT-05: Add three cycle-safety tests for KnowledgeCache: - test_bfs_neighbors_cycle_terminates: A→B→C→A, verifies b and c appear once - test_bfs_neighbors_self_loop_terminates: self-loop A→A, verifies empty result - test_spreading_activation_cycle_converges: cyclic graph with decay_factor 0.5, verifies finite convergence and all nodes receive activation The BFS visited-set guard was already present; these tests lock it in as a regression boundary so future refactors cannot silently remove it.
29 lines
793 B
YAML
29 lines
793 B
YAML
name: CI
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
container: rust:latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Cache cargo registry/target
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.cargo/registry
|
|
~/.cargo/git
|
|
target
|
|
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
- name: Install rustfmt & clippy components
|
|
run: rustup component add rustfmt clippy
|
|
- name: Install thumbv7em-none-eabihf target
|
|
run: rustup target add thumbv7em-none-eabihf
|
|
- name: Install cargo-audit
|
|
run: cargo install cargo-audit --locked
|
|
- name: Run CI script
|
|
run: bash scripts/ci-test.sh
|