Skip to content

feat(adapters-internal): implement FirestoreAdapter with retry logic#13

Merged
prosdev merged 6 commits into
mainfrom
feat/implement-firestore-adapter
Nov 21, 2025
Merged

feat(adapters-internal): implement FirestoreAdapter with retry logic#13
prosdev merged 6 commits into
mainfrom
feat/implement-firestore-adapter

Conversation

@prosdev
Copy link
Copy Markdown
Contributor

@prosdev prosdev commented Nov 21, 2025

Implements Issue #3: FirestoreAdapter for @lytics/playwright-adapters-internal

Changes

  • ✅ Implemented FirestoreAdapter with ResultAdapter interface
  • ✅ Added retry logic with exponential backoff for transient failures
  • ✅ Support for GCP authentication (ADC + Service Account JSON)
  • ✅ Writes to three Firestore collections (test_runs, individual_test_runs, latest_test_cases)
  • ✅ Skip conditions for pull requests
  • ✅ Comprehensive test coverage (27 tests)
  • ✅ Updated documentation with Contentstack branding

Commits

  • feat(adapters-internal): implement FirestoreAdapter with retry logic
  • test(adapters-internal): add comprehensive tests for FirestoreAdapter
  • refactor(adapters-internal): update exports and TypeScript config
  • chore(adapters-internal): update dependencies to published versions
  • docs(adapters-internal): add comprehensive README with Contentstack branding

Testing

All 27 tests passing ✅

- Implement FirestoreAdapter class with ResultAdapter interface
- Add retry logic with exponential backoff for transient failures
- Support GCP authentication via ADC or Service Account JSON
- Write to three collections: test_runs, individual_test_runs, latest_test_cases
- Add skip conditions for pull requests
- Non-blocking error handling to allow other adapters to continue
- Add 27 tests covering all functionality
- Test constructor, initialization, writes, skip conditions
- Test retry logic with exponential backoff
- Test error handling and non-retryable errors
- Mock Firestore client for unit testing
- Export FirestoreAdapter from main index
- Update TypeScript references for annotations and reporter packages
- Update index test to verify exports
- Update @lytics/playwright-annotations to ^0.1.0
- Update @lytics/playwright-reporter to ^0.1.0
- Update package description to reference Contentstack
…randing

- Document FirestoreAdapter usage and configuration
- Add authentication setup guide (ADC and Service Account)
- Document Firestore schema for all three collections
- Add retry logic and error handling documentation
- Update branding from Lytics to Contentstack
…ackages

- Add step to create .npmrc with GitHub Packages auth before changesets runs
- Configure both project root and home directory .npmrc files
- Add verification output to debug authentication issues
- Update README to reference RELEASE_PROCESS.md
- Add RELEASE_PROCESS.md documentation for contributors
@prosdev prosdev merged commit 916bcaf into main Nov 21, 2025
1 check passed
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.

2 participants