silky

silky / tasty-cache

Public

Cache tests based on their source dependency tree; only re-run when source meaningfully changed.

12
0
100% credibility
Found Apr 29, 2026 at 12 stars -- GitGems finds repos before they trend. Get early access to the next one.
Sign Up Free
AI Analysis
Haskell
AI Summary

tasty-cache is a Haskell library for the Tasty testing framework that skips pure tests whose source code and dependencies haven't changed since last passing run, using fine-grained code analysis to speed up repeated test executions.

How It Works

1
🔍 Discover tasty-cache

You hear about a handy tool that makes running tests much faster by remembering passing ones that haven't changed.

2
📝 Prepare your project

You add a simple note to your project's setup so it can track exactly what code has changed.

3
🗑️ Hide temporary folders

You tell your project to ignore the folders where change notes and saved results are kept.

4
Mark safe tests

You wrap the pure, repeatable tests in your code with a special marker to say they can be skipped if unchanged.

5
🚀 Run tests and build memory

The first time you run tests, everything checks out and creates a memory of what passed perfectly.

6
Speed through future runs

Next times, unchanged tests instantly show as done from memory, while only changed ones re-check – tests fly!

🎉 Lightning-fast testing

Now your daily testing feels effortless and quick, saving time on every code tweak.

Sign up to see the full architecture

5 more

Sign Up Free

Star Growth

See how this repo grew from 12 to 12 stars Sign Up Free
Repurpose This Repo

Repurpose is a Pro feature

Generate ready-to-use prompts for X threads, LinkedIn posts, blog posts, YouTube scripts, and more -- with full repo context baked in.

Unlock Repurpose
AI-Generated Review

What is tasty-cache?

tasty-cache is a Haskell library for the Tasty testing framework that caches pure tests based on their source dependency tree, skipping them unless relevant code changes. Using GHC's HIE files, it tracks transitive dependencies—like function calls, instances, and even class methods—for fine-grained invalidation, so you only re-run what needs to. Setup involves adding GHC flags to your Cabal file, wrapping tests with `cacheable`, and it falls back gracefully if HIE files are missing.

Why is it gaining traction?

Unlike bazel no cache tests, jest cache tests, or go tests cache that hit on file changes or simple hashes, tasty-cache delivers precise, AST-level dependency tracking without false negatives on edits to called functions or instances. Developers hook on the instant "OK (cached)" outputs, opt-in safety for pure tests only, and CI speedups akin to cache github actions or nx cache tests—but Haskell-native. Nix flake support for multi-GHC versions (9.4+) makes it dead simple to integrate.

Who should use this?

Haskell devs with large Tasty suites hitting slow full runs in cache github workflow or local dev loops, especially those mixing unit and cache integration tests. Ideal for library authors testing polymorphic code or mutual recursion, where gradle cache tests envy exists but no equivalent fits. Skip if you're on older GHC or need broad cache github docker image sharing.

Verdict

Try it for Tasty-heavy projects—docs are thorough, tests cover edge cases, and AI-built code holds up under human review—but low 12 stars and 1.0% credibility score mean watch for GHC breaks. Solid for speeding pure tests today, less mature than jest cache tests ecosystems.

(198 words)

Sign up to read the full AI review Sign Up Free

Similar repos coming soon.