Skip to content

Commit 1a0fb64

Browse files
author
Amanda Butler
authored
Edit and remove duplicate content in workflow.md
Make changes to 5.11 branch that edit content and remove content duplicated on contributing intro page.
1 parent 0951840 commit 1a0fb64

File tree

1 file changed

+16
-26
lines changed

1 file changed

+16
-26
lines changed

docs/reference/contributing/guidelines/workflow.md

Lines changed: 16 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -70,38 +70,19 @@ If commits do not follow the above guidelines, we may request you modify the com
7070

7171
You can find Mbed OS versioning at [How We Release Arm Mbed OS](../introduction/how-we-release-arm-mbed-os.html).
7272

73-
### Pull request categories
74-
75-
#### Bug fixes
76-
77-
Every bug fix should contain a test to verify results prior to and after the pull request.
78-
79-
#### Changes and additions
80-
81-
Backward compatible changes (such as refactoring and enhancements) or new target additions can go into patch and feature releases. We only consider features and new functionality additions for feature releases.
82-
83-
#### Features
84-
85-
We initially implement new features on separate branches in the Mbed OS repository. Mbed OS maintainers create the new branches by following the naming convention: "feature-" prefix.
86-
87-
Each feature has a tech lead. This person is responsible for:
88-
89-
- Rebasing often to track master development.
90-
- Reviewing any addition to the feature branch (approval required by the feature tech lead or another assigned person).
91-
9273
### Pull request types
9374

9475
We consider the following pull request types.
9576

9677
#### Fix
9778

98-
A bug fix is a backward-compatible internal change that fixes incorrect behavior.
79+
A bug fix is a change that fixes a specific defect in the codebase with backward compatibility. These are the highest priority because of the positive effect the change will have on users developing against the same code. A bug fix should be limited to restoring the documented or proven otherwise, originally intended behavior. Every bug fix should contain a test to verify results prior to and after the pull request. Bug fixes are candidates for patch releases. Large, nontrivial bug fixes approaching the size of refactors run the risk of being considered refactors themselves.
9980

10081
Release: patch
10182

10283
#### Refactor
10384

104-
Refactors are intended for feature releases, if they are not fixing specific issues, because they can introduce new issues.
85+
A refactor is a contribution that modifies the codebase without fixing a bug or changing the existing behavior. Examples of this would be moving functions or variables between translation units, renaming source files or folders, scope modification for nonpublic code, documentation structure changes, and test organization changes. There is always the risk that someone depended on the location or name before a refactor; therefore, these are lower in priority than bug fixes and might require detailed justification for the change. Refactors are candidates for feature releases.
10586

10687
Release: feature
10788

@@ -111,11 +92,18 @@ Updating target implementation (adding a new target or updating already supporte
11192

11293
Release: patch
11394

114-
#### Feature
95+
#### Functionality change
96+
97+
Any change in the functionality, it can be adding a new feature, adding a new method or a function. Software language does not matter.
98+
99+
A feature contribution contains a new API, capability or behavior. It does not break backward compatibility with existing APIs, capabilities or behaviors. New feature contributions are very welcome in Mbed OS. However, because they add capability to the codebase, it's easy for a new feature to introduce bugs and a support burden. The introduction of new features should also come with documentation, majority of targets support and comprehensive test coverage proving the correctness of the feature per the documentation. Feature PRs are treated cautiously, and new features require a new minor version for the codebase. Features are candidates for feature releases.
100+
101+
We initially implement new features on separate branches in the Mbed OS repository. Mbed OS maintainers create the new branches by following the naming convention: "feature-" prefix.
115102

116-
New features target feature releases. A new feature can only be integrated if the feature supports most of the targets (if it requires new target HAL implementation).
103+
Each feature has a tech lead. This person is responsible for:
117104

118-
We consider adding a new functionality to be a feature. It does not matter if it is C++, C or Python.
105+
- Rebasing often to track master development.
106+
- Reviewing any addition to the feature branch (approval required by the feature tech lead or another assigned person).
119107

120108
Release: feature
121109

@@ -135,6 +123,8 @@ Release: patch
135123

136124
A breaking change is any change that results in breaking user space. It should have strong justification for us to consider it. Often, such changes can be backward compatible, for example, deprecating the old functionality and introducing the new replacement.
137125

126+
A contribution containing a breaking change is the most difficult PR to get merged. Any breaking changes in a codebase can have a large negative impact on any users of the codebase. Breaking changes are always limited to a major version release.
127+
138128
Release: major
139129

140130
### Pull request template
@@ -180,9 +170,9 @@ If a pull request is idle for more than two weeks, it will be closed. The author
180170

181171
#### Reviews
182172

183-
All pull requests must be reviewed. The Arm Mbed CI bot determines the most suitable person to review the pull request and tags that person accordingly.
173+
All pull requests must be reviewed. The Arm Mbed CI bot determines the most suitable person to review the pull request (based on the files changed) and tags that person accordingly. Specific, a PR creator can request reviewers by @ tagging people or teams in the *Reviewers* section of the pull request template. For example, @personA @TeamB.
184174

185-
Github dismisses a reviewer's status after any change to the pull request commit history (such as adding a new commit or rebasing). Smaller changes, such as documentation edits or rebases on top of latest master, only require additional review by maintainers. Their approval is sufficient because a team assigned as a reviewer already approved the pull request.
175+
GitHub dismisses a reviewer's status after any change to the pull request commit history (such as adding a new commit or rebasing). Smaller changes, such as documentation edits or rebases on top of latest master, only require additional review by maintainers. Their approval is sufficient because a team assigned as a reviewer already approved the pull request.
186176

187177
Label: `needs: review`
188178
Time: 3 days for reviewers to leave feedback after the maintainers add the "needs: review" label.

0 commit comments

Comments
 (0)