Add checkbox for web based commit signing
What does this MR do and why?
This is a first MR in my implementation plan that you can find here: #580999 (comment 2960767445)
This MR introduces a reusable Web-based Commit Signing Checkbox component and refactors the Group Inheritance Popover to be shared across the application.
Key changes
-
New Web-based Commit Signing Checkbox - Creates a new Vue component (
checkbox.vue) that allows users to enable/disable web-based commit signing with proper group inheritance indicators -
Refactored Group Inheritance Popover - Moves the
GroupInheritancePopovercomponent from branch rules to a shared location (vue_shared/components/settings/) and makes it more generic by:- Converting injected dependencies to props (
hasGroupPermissions,groupSettingsRepositoryPath) - Removing branch-specific i18n strings and using generic ones
- Making it reusable across different settings contexts
- Converting injected dependencies to props (
-
Updated all consumers - Updates all existing usages of
GroupInheritancePopoverin:- Branch rules protection components
- Branch rule settings
- Protection toggle components
Why these changes?
These components will be used in repository settings at both project and group levels to configure web-based commit signing, with proper inheritance indicators when settings are configured at the group level.
References
- Add settings UI to allow groups or projects to ... (#580999 - closed)
- design discussion: #580999 (comment 2941225528)+
Screenshots or screen recordings
| Before | After |
|---|---|
![]() |
![]() |
| n/a |
![]() |
| n/a |
![]() |
How to set up and validate locally
- Visit http://localhost:6006/?path=/docs/vue-shared-web-based-commit-signing-checkbox--docs to check the checkbox component
- Visit http://localhost:6006/?path=/docs/vue-shared-settings-group-inheritance-popover--docs to check the popover component
- Go to http://gdk.test:8080/groups/flightjs/-/settings/repository#js-protected-branches-settings and create a Protected branch
- Go to http://gdk.test:8080/flightjs/Flight/-/settings/repository#branch-rules and check the lock icon with popover on a rule that comes from the group level
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #580999 (closed)
Edited by Paulina Sedlak-Jakubowska



