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

safe-global / safe-config-service / 22071482164
98%

Build:
DEFAULT BRANCH: main
Ran 16 Feb 2026 05:04PM UTC
Jobs 1
Files 100
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

16 Feb 2026 05:02PM UTC coverage: 98.457% (-0.3%) from 98.735%
22071482164

push

github

web-flow
feat: service aware + global feature flags (#1475)

* Add Service model for service-aware feature configuration

Introduce a Service model that will be used to associate features with
specific consumers (e.g., CGW, Frontend). Each service has a unique key,
display name, and optional description.

This is the foundation for implementing service-aware feature scoping
where features can be filtered based on which service is requesting
chain configurations.

* Extend Feature model with scope and services fields

Add scope field (GLOBAL/PER_CHAIN) and services M2M relationship to
Feature model to support service-aware feature configuration:

- scope: Determines whether a feature applies globally to all chains
  or only to explicitly selected chains. Defaults to PER_CHAIN to
  preserve existing behavior.

- services: M2M relationship to Service model, allowing features to be
  assigned to specific services.

- clean() validation: Ensures GLOBAL scope features cannot have chains
  selected, as they apply to all chains by definition.

Existing features continue to work unchanged with the default PER_CHAIN
scope and no service assignments.

* Update Django admin for Service and Feature models

Add ServiceAdmin:
- Display key, name, and description in list view
- Enable search by key and name

Enhance FeatureAdmin:
- Add scope to list display
- Add filters for scope and services
- Use filter_horizontal for M2M fields (chains, services)
- Organize fields into logical fieldsets with descriptions

The admin now supports the full service-aware feature configuration
workflow, including scope selection and service assignment.

* Add v2 views with service-aware feature filtering

Implement service-aware chain configuration endpoints:

Views (views.py):
- ChainsListViewV2: Returns all chains with features filtered by service
- ChainsDetailViewV2: Returns single chain with features filtered by service
- Both views lookup service by key and pass it to serializer context
... (continued)

1404 of 1426 relevant lines covered (98.46%)

0.98 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
8
79.22
-1.55% chains/admin.py
Jobs
ID Job ID Ran Files Coverage
1 22071482164.1 16 Feb 2026 05:04PM UTC 100
98.46
GitHub Action Run
Source Files on build 22071482164
  • Tree
  • List 100
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22071482164
  • caac8f11 on github
  • Prev Build on main (#22060971811)
  • Next Build on main (#22093952688)
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