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

raystack / frontier / 25713560362
42%
main: 43%

Build:
Build:
LAST BUILD BRANCH: removal-cascade-consolidation
DEFAULT BRANCH: main
Ran 12 May 2026 04:38AM UTC
Jobs 1
Files 276
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

12 May 2026 04:33AM UTC coverage: 42.294% (+0.3%) from 41.985%
25713560362

Pull #1596

github

whoAbhishekSah
feat(membership): add group membership management

Introduces the SetGroupMemberRole RPC and three service methods on the
membership package: AddGroupMember, SetGroupMemberRole, and OnGroupCreated.
These manage policy + SpiceDB relation atomically and keep them in sync,
fixing the leaky-relation pattern at the group layer.

- AddGroupMember validates org membership of the principal and rejects
  duplicates with ErrAlreadyMember (service-only, no proto).
- SetGroupMemberRole rejects non-members with ErrNotMember and enforces
  a min-owner constraint (ErrLastGroupOwnerRole) on demotion.
- OnGroupCreated bundles the group<->org hierarchy relations with the
  initial owner add, so group.Create can wire SpiceDB with one call.
- Principal validation is restricted to app/user; the switch is kept
  extensible for future principal types.

Audit events are added for both the added and role-changed cases.

No call sites are migrated yet — group.Create, AddGroupUsers, and the
deletion of legacy group service methods will follow in subsequent PRs.

PROTON_COMMIT is temporarily pinned to the feature-branch SHA on
raystack/proton#485; it will be re-pinned to the merge commit once that
PR lands.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pull Request #1596: feat(membership): add group membership management

239 of 293 new or added lines in 2 files covered. (81.57%)

137 existing lines in 3 files now uncovered.

15886 of 37561 relevant lines covered (42.29%)

11.87 hits per line

Uncovered Changes

Lines Coverage ∆ File
48
80.34
0.09% core/membership/service.go
6
76.84
1.08% internal/api/v1beta1connect/group.go

Coverage Regressions

Lines Coverage ∆ File
81
0.0
0.0% pkg/server/connect_interceptors/authorization.go
31
80.34
0.09% core/membership/service.go
25
76.84
1.08% internal/api/v1beta1connect/group.go
Jobs
ID Job ID Ran Files Coverage
1 25713560362.1 12 May 2026 04:38AM UTC 276
42.29
GitHub Action Run
Source Files on build 25713560362
  • Tree
  • List 276
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #1596
  • PR Base - main (#25661503031)
  • Delete
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