fix(ci): gate cache & storage crate doctests behind their features
CI / Rustfmt (push) Canceled after 0s
CI / Clippy (push) Canceled after 0s
CI / Test (workspace all features) (push) Canceled after 0s
CI / Test (workspace default features) (push) Canceled after 0s
CI / Test (mytheclipse / bg only) (push) Canceled after 0s
CI / Test (mytheclipse / compute only) (push) Canceled after 0s
CI / Test (mytheclipse / io only) (push) Canceled after 0s
CI / Test (mytheclipse / lifecycle only) (push) Canceled after 0s
CI / Test (mytheclipse / observability only) (push) Canceled after 0s
CI / Test (mytheclipse / resiliency only) (push) Canceled after 0s
CI / Test (mytheclipse / traffic only) (push) Canceled after 0s
CI / Test (mytheclipse-cache / l2-redis) (push) Canceled after 0s
CI / Test (mytheclipse-cache / l1-moka) (push) Canceled after 0s
CI / Test (mytheclipse-cache / default) (push) Canceled after 0s
CI / Test (mytheclipse-config / default) (push) Canceled after 0s
CI / Test (mytheclipse-crypto / default) (push) Canceled after 0s
CI / Test (mytheclipse-event / amqp) (push) Canceled after 0s
CI / Test (mytheclipse-event / nats) (push) Canceled after 0s
CI / Test (mytheclipse-event / default (mem)) (push) Canceled after 0s
CI / Test (mytheclipse-storage / gcs) (push) Canceled after 0s
CI / Test (mytheclipse-storage / s3) (push) Canceled after 0s
CI / Test (mytheclipse-storage / default (local)) (push) Canceled after 0s
CI / Run mytheclipse example (push) Canceled after 0s
CI / Docs check (push) Canceled after 0s
CI / Cargo package dry-run (mytheclipse) (push) Canceled after 0s
CI / Cargo package dry-run (mytheclipse-cache) (push) Canceled after 0s
CI / Cargo package dry-run (mytheclipse-config) (push) Canceled after 0s
CI / Cargo package dry-run (mytheclipse-crypto) (push) Canceled after 0s
CI / Cargo package dry-run (mytheclipse-event) (push) Canceled after 0s
CI / Cargo package dry-run (mytheclipse-storage) (push) Canceled after 0s
Release / Semantic Release (push) Canceled after 0s
CI / Rustfmt (push) Canceled after 0s
CI / Clippy (push) Canceled after 0s
CI / Test (workspace all features) (push) Canceled after 0s
CI / Test (workspace default features) (push) Canceled after 0s
CI / Test (mytheclipse / bg only) (push) Canceled after 0s
CI / Test (mytheclipse / compute only) (push) Canceled after 0s
CI / Test (mytheclipse / io only) (push) Canceled after 0s
CI / Test (mytheclipse / lifecycle only) (push) Canceled after 0s
CI / Test (mytheclipse / observability only) (push) Canceled after 0s
CI / Test (mytheclipse / resiliency only) (push) Canceled after 0s
CI / Test (mytheclipse / traffic only) (push) Canceled after 0s
CI / Test (mytheclipse-cache / l2-redis) (push) Canceled after 0s
CI / Test (mytheclipse-cache / l1-moka) (push) Canceled after 0s
CI / Test (mytheclipse-cache / default) (push) Canceled after 0s
CI / Test (mytheclipse-config / default) (push) Canceled after 0s
CI / Test (mytheclipse-crypto / default) (push) Canceled after 0s
CI / Test (mytheclipse-event / amqp) (push) Canceled after 0s
CI / Test (mytheclipse-event / nats) (push) Canceled after 0s
CI / Test (mytheclipse-event / default (mem)) (push) Canceled after 0s
CI / Test (mytheclipse-storage / gcs) (push) Canceled after 0s
CI / Test (mytheclipse-storage / s3) (push) Canceled after 0s
CI / Test (mytheclipse-storage / default (local)) (push) Canceled after 0s
CI / Run mytheclipse example (push) Canceled after 0s
CI / Docs check (push) Canceled after 0s
CI / Cargo package dry-run (mytheclipse) (push) Canceled after 0s
CI / Cargo package dry-run (mytheclipse-cache) (push) Canceled after 0s
CI / Cargo package dry-run (mytheclipse-config) (push) Canceled after 0s
CI / Cargo package dry-run (mytheclipse-crypto) (push) Canceled after 0s
CI / Cargo package dry-run (mytheclipse-event) (push) Canceled after 0s
CI / Cargo package dry-run (mytheclipse-storage) (push) Canceled after 0s
Release / Semantic Release (push) Canceled after 0s
Same E0432 class as mytheclipse-event: the crate-root doctests referenced feature-gated types that are absent in reduced-feature test builds flagged by the CI matrix. - mytheclipse-cache: example used MemoryCache (l1-memory) plus MultiLayerCache/CacheAside (cache-aside); the l1-moka and l2-redis builds (which don't enable cache-aside) failed the doctest. Gated the body behind all(l1-memory, cache-aside) with a no-op fallback. - mytheclipse-storage: example used LocalFileStorage (local feature); the gcs and s3 builds failed the doctest. Gated the body behind the local feature with a no-op fallback. Examples remain compile-checked & runnable under default features.
This commit is contained in:
@@ -17,9 +17,12 @@
|
|||||||
//!
|
//!
|
||||||
//! ## Example
|
//! ## Example
|
||||||
//!
|
//!
|
||||||
|
//! Multi-layer + cache-aside composition (default features):
|
||||||
|
//!
|
||||||
//! ```no_run
|
//! ```no_run
|
||||||
//! use mytheclipse_cache::{Cache, MemoryCache, MultiLayerCache, CacheAside};
|
//! # #[cfg(all(feature = "l1-memory", feature = "cache-aside"))]
|
||||||
//! # async fn run() {
|
//! # async fn run() {
|
||||||
|
//! use mytheclipse_cache::{Cache, MemoryCache, MultiLayerCache, CacheAside};
|
||||||
//! let l1 = MemoryCache::new();
|
//! let l1 = MemoryCache::new();
|
||||||
//! let l2 = MemoryCache::new(); // in a real app: a RedisCache
|
//! let l2 = MemoryCache::new(); // in a real app: a RedisCache
|
||||||
//! let cache = MultiLayerCache::new(l1, l2);
|
//! let cache = MultiLayerCache::new(l1, l2);
|
||||||
@@ -34,6 +37,8 @@
|
|||||||
//! );
|
//! );
|
||||||
//! let _v = aside.get("orders:42").await.unwrap();
|
//! let _v = aside.get("orders:42").await.unwrap();
|
||||||
//! # }
|
//! # }
|
||||||
|
//! # #[cfg(not(all(feature = "l1-memory", feature = "cache-aside")))]
|
||||||
|
//! # fn run() {}
|
||||||
//! ```
|
//! ```
|
||||||
|
|
||||||
#![forbid(unsafe_code)]
|
#![forbid(unsafe_code)]
|
||||||
|
|||||||
@@ -15,15 +15,22 @@
|
|||||||
//!
|
//!
|
||||||
//! ## Example
|
//! ## Example
|
||||||
//!
|
//!
|
||||||
//! ```
|
//! Local disk storage (`local` feature, default):
|
||||||
//! use mytheclipse_storage::{LocalFileStorage, StorageDriver, bytes_stream, read_to_vec};
|
//!
|
||||||
//! # #[tokio::main] async fn main() {
|
//! ```no_run
|
||||||
|
//! use mytheclipse_storage::{StorageDriver, bytes_stream, read_to_vec};
|
||||||
|
//! # #[cfg(feature = "local")]
|
||||||
|
//! # #[tokio::main]
|
||||||
|
//! # async fn main() {
|
||||||
|
//! use mytheclipse_storage::LocalFileStorage;
|
||||||
//! # let dir = tempfile::tempdir().unwrap();
|
//! # let dir = tempfile::tempdir().unwrap();
|
||||||
//! let storage = LocalFileStorage::new(dir.path());
|
//! let storage = LocalFileStorage::new(dir.path());
|
||||||
//! storage.put("hello.txt", bytes_stream(b"hi".to_vec())).await.unwrap();
|
//! storage.put("hello.txt", bytes_stream(b"hi".to_vec())).await.unwrap();
|
||||||
//! let data = read_to_vec(storage.get("hello.txt").await.unwrap()).await.unwrap();
|
//! let data = read_to_vec(storage.get("hello.txt").await.unwrap()).await.unwrap();
|
||||||
//! assert_eq!(data, b"hi");
|
//! assert_eq!(data, b"hi");
|
||||||
//! # }
|
//! # }
|
||||||
|
//! # #[cfg(not(feature = "local"))]
|
||||||
|
//! # fn main() {}
|
||||||
//! ```
|
//! ```
|
||||||
|
|
||||||
pub mod traits;
|
pub mod traits;
|
||||||
|
|||||||
Reference in New Issue
Block a user