Track runner bulk selection and bulk delete
The runners list lets administrators and group owners select runners and delete them in bulk, but none of those interactions are instrumented, so there is no way to tell whether the bulk actions are used.
This MR adds the three internal events requested in the issue, fired from the shared runner list components (used by both the admin and group runner pages):
click_select_all_runners_checkboxwithpropertycheckedorunchecked.click_select_runner_checkboxwithpropertycheckedorunchecked.click_bulk_delete_runners_buttonwhen the deletion is confirmed in the modal, withvalueset to the number of selected runners so the size of bulk deletions can be charted.
All three carry user and namespace identifiers. Event definitions live in config/events/ and the specs use useMockInternalEventsTracking, which validates the properties against the definitions. If the group only wants the delete confirmation tracked, the two checkbox events are self-contained and easy to drop.
Resolves #370844
Differences
Before: No events are emitted for selecting runners or confirming a bulk delete.
After: The three internal events above are emitted; no visible UI change.
How to set up and validate locally:
- Enable the Snowplow micro or internal events debug (
gon.tracking_data) in GDK and open Admin > CI/CD > Runners. - Tick the header checkbox, tick a single runner, and confirm a bulk delete; each action produces one event with the properties listed above.
yarn jest spec/frontend/ci/runner/components