Skip to content

feat: history storage engine with Actions Cache backend#21

Merged
maximn merged 2 commits into
mainfrom
feat/7-1-history-storage-engine
Mar 30, 2026
Merged

feat: history storage engine with Actions Cache backend#21
maximn merged 2 commits into
mainfrom
feat/7-1-history-storage-engine

Conversation

@maximn
Copy link
Copy Markdown
Contributor

@maximn maximn commented Mar 30, 2026

Summary

  • Add run history tracking via GitHub Actions Cache (@actions/cache v4) so future runs can compare against previous results without external services
  • Implements HistoryStorage interface with ActionsCacheStorage backend, HistoryManager with count pruning and 4MB size guard, and integration into the main entry point
  • New inputs: history (default: true) and history-limit (default: 20)
  • Includes code review fixes: race-safe cache keys (keyed by GITHUB_RUN_ID), errored count preservation, Buffer.byteLength for accurate size checks, first-run detection that distinguishes cache errors from genuine first runs

Story

Story 7-1: History Storage Engine with Actions Cache Backend

Test plan

  • 365 tests passing (11 new: 9 unit + 2 integration for manager/storage, plus isFirstRun and size guard phase 2)
  • Typecheck clean
  • Lint clean
  • pnpm build succeeds (dist rebuilt)
  • Manual: verify cache hit/miss in a real GitHub Actions run
  • Manual: verify parallel matrix runs produce unique cache keys

maximn added 2 commits March 30, 2026 21:16
Add run history tracking via GitHub Actions Cache so future
runs can compare against previous results without external
services. Includes HistoryStorage interface, ActionsCacheStorage
implementation, HistoryManager with size guards, and integration
into the main entry point.
v6 only exports ESM which ncc cannot bundle. v4 has a CJS
main entry and the same restoreCache/saveCache API surface.
@github-actions
Copy link
Copy Markdown
Contributor

@maximn maximn merged commit 2f7118a into main Mar 30, 2026
6 checks passed
@maximn maximn deleted the feat/7-1-history-storage-engine branch March 30, 2026 21:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant