• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

optimizely / agent / 19549408620
87%

Build:
DEFAULT BRANCH: master
Ran 20 Nov 2025 07:50PM UTC
Jobs 1
Files 55
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Nov 2025 07:48PM UTC coverage: 86.638% (+0.3%) from 86.321%
19549408620

push

github

web-flow
[FSSDK-12072] Integrate Redis Streams into agent (#448)

* Integrate Redis Streams and enhance CMAB with flexible authentication

This commit integrates Redis Streams for persistent notification delivery
from v4.3.0-beta.1 with the existing CMAB Redis cache support in master.

Features Added:
- Redis Streams implementation for notification synchronization with
  persistent message delivery, automatic retries, consumer groups, and
  configurable batching
- Flexible Redis authentication utility supporting auth_token, redis_secret,
  and password fields with environment variable fallback
- Applied flexible auth pattern to all Redis clients: ODP cache, UPS,
  CMAB cache, and synchronization pubsub
- Configurable CMAB prediction endpoint via config or environment variable

Changes:
- Added pkg/syncer/pubsub/redis_streams.go and comprehensive tests
- Added pkg/utils/redisauth for flexible password authentication
- Updated all Redis clients (ODP, UPS, CMAB) with UnmarshalJSON for auth
- Updated config.yaml with Redis Streams parameters and auth_token field
- Updated CHANGELOG.md with [Unreleased] section documenting new features
- Updated CI workflow to use Redis 6 and added Redis to test-coverage job
- Added docs/redis-streams.md with complete Redis Streams documentation

Configuration:
- CMAB configuration remains under client.cmab section
- Redis Streams enabled via synchronization.notification.default
- All Redis clients support auth_token, redis_secret, password fields
- Environment variables: REDIS_PASSWORD, REDIS_ODP_PASSWORD,
  REDIS_UPS_PASSWORD, REDIS_CMAB_PASSWORD

Testing:
- All existing tests pass
- Added 5 new auth tests for CMAB Redis cache
- Redis Streams includes 18 comprehensive tests
- redisauth utility includes 14 tests covering all scenarios

Both features coexist without conflicts - Redis Streams uses STREAM data
type for messaging while CMAB cache uses STRING type for key-value storage.

* add autodetection of redis version

* fix alia... (continued)

545 of 631 new or added lines in 9 files covered. (86.37%)

3482 of 4019 relevant lines covered (86.64%)

2628.89 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
99.37
5.14% pkg/syncer/pubsub.go
2
92.31
pkg/utils/redisauth/password.go
2
82.72
0.11% plugins/cmabcache/services/redis_cache.go
4
91.67
pkg/syncer/pubsub/redis_version.go
77
80.15
pkg/syncer/pubsub/redis_streams.go
Jobs
ID Job ID Ran Files Coverage
1 19549408620.1 20 Nov 2025 07:50PM UTC 55
86.64
GitHub Action Run
Source Files on build 19549408620
  • Tree
  • List 55
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • e9ed0f2e on github
  • Prev Build on master (#19177705593)
  • Next Build on master (#19554511935)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc