Replies: 1 comment
-
Historical proposals in configuration change approval: |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Strengthen Configuration and Dependency Change Approval
An approval process for changes to the file path scope of global variables, configurations, and dependencies will be deployed across all open-source product repositories.
We have already implemented this process for configuration change approval, and now we are expanding the scope to include dependency changes as well.
Why
Currently, the reviewers and approvers in the root OWNERS(such as OWNERS in tidb repo) file are for git repository granularity, and cannot fine-grained control over changes in important areas. Configuration/variable and dependency changes can have a wide-ranging impact, affecting system stability, compatibility, and performance. Recently, there have been several online issues caused by such changes.
To minimize the negative impact of configuration/variable and dependency changes, ensure that each change undergoes careful consideration and evaluation, comes with clear documentation, and reduces the risk of online issues, we plan to pilot pre-approval of these changes across all
pingcap
open-source repositories. We will delegate the approval responsibility to the person in charge of maintaining the respective products and the Dependency Management SIG.What's new for developer
Same as before and no new actions introduced for the developers to perform. All the changes need to be approved by committers or maintainers as before except if there are configuration or dependency changes, the PRs need also to be approved by approvers inside the
/OWNERS_ALIASES
file. The approvers will be automatically recommended by a bot on GitHub.Set up
OWNERS
mechanism to control the approving for pull requests, here is the PR review flow.OWNERS_ALIASES
file in the root folder in each repository to maintain the approver teams for variable, configuration, and dependency changes.OWNERS
files in subfolders to support approving by folder or file paths. And make it not inherit from parentOWNERS
files to ensure the changes must be approved by the dedicated approvers.OWNERS
files (layer by layer in folder level), and leaf approvers first.OWNERS
andOWNERS_ALIASES
files should be updated on time.OWNERS
files in the leaf folders./OWNERS_ALIASES
file.Role and Responsibility
pingcap/docs
,pingcap/docs-cn
), adding the changes to release notes, and updating relevant documentation, to ensure that users have access to accurate and up-to-date information.Control Machinery for Dependency Changes
To ensure that dependency changes will not affect compatibility, stability, or performance, and are tested enough, we are introducing a new control mechanism.
go.mod
files need to be approved by the Dependency Management SIG before merging./OWNERS_ALIASES
file.OWNERS
mechanism.Deployment Plan for Dependency Changes
Initial Deployment:
tidb
repository.OWNERS
andOWNERS_ALIASES
files and ensuring the Dependency Management SIG is properly defined.Future Deployment:
tidb
repository, we will gradually roll out similar control mechanisms to other repositories within thepingcap
andtikv
organizations.By following this deployment plan, we aim to ensure a smooth transition and effective implementation of the control machinery across all open-source repositories.
Beta Was this translation helpful? Give feedback.
All reactions