-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for minimum amount of approvals before merge #190
Comments
I would like to work on this issue. |
@fmvilas @derberg You want to require a minimum of 3 approvals for all AsyncAPI repos or you want to only to do it in some repos like cc @KhudaDad414 |
@Amzani I think we only need it to be 3 for |
Great @KhudaDad414 this environment exists already ? or it's something new we have to create ? |
I don't think it exists yet. we can have a default value of |
Yeah, the environment variable would actually be a secret in the repo: https://docs.github.com/en/actions/security-guides/encrypted-secrets. That's the only way to store info associated with a repo that comes to my mind. If you come up with a more elegant way to solve it, feel free! |
Can I try this. |
first we need to figure the solution. the best if that info is stored in a file in a repo, then any change goes through review. |
I like the long term solution to solve this, then we could have 2 options
If we check the requirements listed in #137, the solutions I've mentioned can:
|
I honestly prefer a config file in each repo instead of a central one. This way code owners will have the power to review it and approve it. |
yes, we need to have it per repo definitely (like https://github.com/repository-settings/app I guess), so only codeowners of given repo are involved in review, and they can adjust settings transparently however they need for they repository. Of course if there is a case that there are multiple repos that have exactly the same configuration, we can have it in On requirements side, user management would be lovely too 😄 Basically anything that requires going to
For others, like sonar or coveralls, yeah, we definitely will need something custom. Most important is that we need a strong requirement here to make sure it all works like all else on GitHub Actions. So there are no apps, no deployments and related overhead. Just workflows that support sync of settings whenever they are modified. Maybe solution is to get important code from Afaik with existing mutations in GitHub GraphQL it is not that complicated after all. Updating all stuff with one shot is with one call. So the only complicated part I think is transform of YAML settings to API call. |
This issue has been automatically marked as stale because it has not had recent activity 😴 It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation. There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model. Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here. Thank you for your patience ❤️ |
Also, should the minimum approvals be 3? |
it is definitely not developed yet default should be 1 as it is now because of how things work, and per repo can be overwritten. make sure to first explain how you want to solve it, before you open a PR and hit our review 😃 |
@derberg I believe that we can have a central config file in this repo for minimum approval, then for individual repo we can include a check if the that repository has its own override config (workflow), if not we will enforce the central workflow. I would love to hear any thoughts or ideas on how we can refine this approach. |
@aakankshabhende please take into account that in AsyncAPI we use https://github.com/derberg/manage-files-in-multiple-repositories action that allows us to push workflows from As if it comes to configuration, instead of the config file, just like in some other issue Fran wrote, we can just have a system variable, that GitHub allows to have. So we have https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables on organization level, and workflow would read this variable, and if someone in some repository wants to overwrite this global default, they just overwrite the variable with custom value only in their repository |
Got it. Sounds good! Thanks @derberg |
I'll start working on this |
awesome please feel free to ask for any clarifications on the way - always better to clarify first than get ping-pong in a PR if I do not answer here for some reason, feel free to DM me in AsyncAPI Slack good luck! |
Have a look at asyncapi/spec#851 (comment).
The text was updated successfully, but these errors were encountered: