Run pipelines for Suggestions
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Problem to solve
Suggestions can contain typos, bugs, or simply Not Work, which prompts developers not to use the [Apply Suggestion]
feature, but to implement the proposal locally instead.
Intended users
Developers
Further details
For team members at Gitlab, this has the advantage as well of shortening response cycles by leveraging possible asynchronicity; a Suggestion made by a peer can be confirmed/verified by the time I get around to reviewing the comments. This supports Efficiency, remote-working, and general asynchronous workflows.
Proposal
When a user makes a Suggestion, we should (optionally) run pipelines to verify the suggested change. This would give the users involved with the change confidence that the Suggestion is valid and can be freely applied.
We'd have to create ghost branches for testing, but having the system to do so (assuming we don't already..) could enable other features where we want to proactively allow the system to run pipelines opportunistically, automatically/triggered rebases, preflight long-lived feature branches, etc.
Permissions and Security
- Suggester and/or Author - do they need permissions to trigger a new pipeline run? If not, it could be used as a DoS/Resource Exhaustion attack
Documentation
I could see this enabled via a Project/Repo setting, and would need documentation for sure.
Testing
- What if the HEAD commit changes? Do we need to re-run previously existing pipelines for pending Suggestions?
- We'd want to clean-up these "ghost branches" once the Suggestion is merged (or when the thread is resolved)
- Should Suggesters get authorship credit for the Suggestion?
What does success look like, and how can we measure that?
- increased usage of Suggestions
What is the type of buyer?
Core or Bronze; this feels like basic table stakes, adding value to Suggestions and Pipelines.
Links / references
cc @jramsay