ci: test the no-alloc build and harden the workflow

Run clippy, docs and tests for tines-core with --no-default-features,
gating the MemStore-based tests on `alloc` so they compile there. Fail on
rustdoc warnings, pass --locked everywhere, and pin the toolchain to
1.99.0. In the workflow, use read-only permissions, cancel superseded
runs, add a 20-minute timeout, and pin actions to commit SHAs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-18 05:07:12 -07:00
co-authored by Claude Opus 5.5
parent 6907f000a2
commit 111a40236d
7 changed files with 36 additions and 13 deletions
+1 -1
View File
@@ -572,7 +572,7 @@ fn insert_pos(heap: &Vec<(ObservationId, u64), { consts::SEND_QUEUE_CAP }>, age:
pos
}
#[cfg(test)]
#[cfg(all(test, feature = "alloc"))]
mod tests {
use super::*;
use crate::{MemStore, Observation, Payload, Topic};
+3 -3
View File
@@ -2,9 +2,9 @@
//!
//! This module defines the [`Store`] trait plus its [`TrimPolicy`] and
//! [`StoreError`] types. Everything here is `#![no_std]`-clean and does **not**
//! require the `alloc` feature — only concrete backends (see
//! [`mem_store`](crate::mem_store)) need allocation, so the trait, policy, and
//! error types remain available on `no_std` targets as well.
//! require the `alloc` feature — only concrete backends (such as `mem_store`,
//! which is compiled only with `alloc`) need allocation, so the trait, policy,
//! and error types remain available on `no_std` targets as well.
use crate::observation::{Observation, ObservationId, Tick};