Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
cb3b9b5
perf: optimize LRU/FIFO to O(1) and add performance benchmarks
Q300Z Feb 4, 2026
7022f0f
refactor: implement sharded generic architecture and static dispatch
Q300Z Feb 4, 2026
65d8819
feat: make tokio optional via 'async' feature gate
Q300Z Feb 4, 2026
d038ca8
docs: modernize CI pipeline and update documentation with performance…
Q300Z Feb 4, 2026
0016fc9
perf: implement index-based arena for LRU/FIFO to eliminate key cloning
Q300Z Feb 5, 2026
042b3f8
perf: implement Borrow support for zero-allocation cache lookups
Q300Z Feb 5, 2026
b575d49
docs: update README with record performance results and index-based a…
Q300Z Feb 5, 2026
30cc7f1
perf: implement u32 indices and RwLock with batching for concurrent t…
Q300Z Feb 5, 2026
148d296
docs: add sync and async examples and refine façade for Borrow support
Q300Z Feb 5, 2026
6b04e43
chore: update rust-version to 1.93 and update CI triggers
Q300Z Feb 5, 2026
56270ac
perf: optimize hashing with BuildHasher::hash_one and resolve black_b…
Q300Z Feb 5, 2026
2beb4d9
refactor: apply clippy suggestions for idiomatic code (collapsible_if…
Q300Z Feb 5, 2026
30a70ca
fix: update tests to support conditional cleaner startup and improve …
Q300Z Feb 5, 2026
2302763
docs: final README formatting and cleanup
Q300Z Feb 5, 2026
2888de4
refactor!: implement sharded architecture and generic strategy API
Q300Z Feb 5, 2026
b6cffcd
ci: implement automated versioning and crates.io publishing via relea…
Q300Z Feb 5, 2026
10263c8
style: apply rustfmt to the entire codebase
Q300Z Feb 5, 2026
8ce053e
fix: feature-gate async example to support no-default-features builds
Q300Z Feb 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 46 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,61 @@
name: Rust
name: Rust CI

on:
push:
branches: [ "main" ]
branches: [ "main", "dev" ]
pull_request:
branches: [ "main" ]
branches: [ "main", "dev" ]

env:
CARGO_TERM_COLOR: always

jobs:
build:
# Check formatting
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: cargo build --verbose
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all -- --check

# Static analysis
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: swatinem/rust-cache@v2
- name: Run clippy
run: cargo clippy --all-targets --all-features -- -D warnings

# Multi-feature testing matrix
test:
needs: build
name: Test
needs: [ fmt, clippy ]
runs-on: ubuntu-latest
strategy:
matrix:
feature_flags: [ "--all-features", "--no-default-features" ]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: swatinem/rust-cache@v2
- name: Run tests
run: cargo test ${{ matrix.feature_flags }} --verbose

# Ensure benchmarks still compile
check-benches:
name: Check Benchmarks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Comment on lines +46 to 57
Copy link

Copilot AI Feb 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CI workflow uses actions/checkout@v6 in some jobs (lines 18, 29) but actions/checkout@v4 in others (lines 46, 57). This inconsistency should be resolved - all jobs should use the same version for consistency. Recommend using v6 consistently since it's used in earlier jobs.

Copilot uses AI. Check for mistakes.
- name: Test
run: cargo test --verbose
- uses: dtolnay/rust-toolchain@stable
- uses: swatinem/rust-cache@v2
- name: Build benchmarks
run: cargo check --benches --all-features
30 changes: 30 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Release-plz

on:
push:
branches:
- main

permissions:
id-token: write
contents: write
pull-requests: write

jobs:
release-plz:
name: Release-plz
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Run release-plz
uses: MarcoIeni/release-plz-action@v0.5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading