You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/reference/contributing/guidelines/workflow.md
+31-40Lines changed: 31 additions & 40 deletions
Original file line number
Diff line number
Diff line change
@@ -63,9 +63,7 @@ If commits do not follow the above guidelines, we may request that you modify th
63
63
64
64
## Pull request template
65
65
66
-
The following template is automatically provided on the raising of a pull request against mbed-os.
67
-
The details required will depend on the type of pull request being raised. See below for a more detailed
68
-
explanation of the requirements.
66
+
The following template is automatically provided when you raise a pull request against `mbed-os`. The details required depend on the type of pull request you create:
69
67
70
68
### Description (*required*)
71
69
@@ -107,14 +105,14 @@ explanation of the requirements.
107
105
108
106
### Description field
109
107
110
-
There are two parts to the description, both of which are required.
111
-
The first is a summary of the pull request. This should clearly state the reason for the PR and what
112
-
the changes entail. The second part requires the author to state what, if any, documentation changes
113
-
also need to be made to accompany the changes.
108
+
There are two parts to the description, both of which are required:
109
+
110
+
- The summary of the pull request clearly states the reason for the PR and what the changes involve.
111
+
- The documentation section requires you to state what, if any, documentation changes need to accompany the code changes.
114
112
115
113
### Pull request type
116
114
117
-
There are three pull request types and these correspond to the 3 main categories specified in semantic versionning, Patch, Feature (Minor) and Major.
115
+
There are three pull request types, and these correspond to the three main categories specified in semantic versioning: patch, feature (minor) and major.
118
116
119
117
#### Patch update
120
118
@@ -160,43 +158,34 @@ Each feature has a Mbed OS technical lead. This person is responsible for:
160
158
161
159
This is for breaking changes and should be rare. 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.
162
160
163
-
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.
161
+
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 effect on any users of the codebase. Breaking changes are always limited to a major version release.
164
162
165
163
A project technical lead and the Mbed OS technical lead must approve breaking change pull requests.
166
164
167
-
168
165
### Test results
169
166
170
-
This section is to indicate what test results if any are required for the PR.
171
-
The three options are :
172
-
* No Tests required for this change (E.g docs only update)
173
-
* Changes will be tested by existing mbed-os tests (Greentea or Unittest)
174
-
* Tests / results will supplied as part of this PR. For this optionthe test results and/or tests
175
-
should be posted in this section below the tick boxes.
167
+
This section is to indicate what test results, if any, are required for the PR. The three options are:
168
+
169
+
- No tests required for this change (for example, a documentation-only update).
170
+
- Changes will be tested by existing `mbed-os` tests (Greentea or Unittest).
171
+
- Tests and results will be supplied as part of this PR. For this option, post the tests and test results
172
+
below the tick boxes.
176
173
177
174
### Reviewers
178
175
179
-
Reviewers are automatically added by a bot based on the files that are actually changed, however this section
180
-
gives the author the option to specify additional, specific reviewers. Required reviewers should be tagged here. E.g. @adbridge, @0xc0170
181
-
176
+
A bot automatically adds reviewers based on the files that are actually changed. However, this section gives you the option to specify additional, specific reviewers. Tag required reviewers here, such as @adbridge, @0xc0170.
182
177
183
178
### Release Notes
184
179
185
-
Every pull request changing or adding functionality must fill in the "Release notes" section. Consequently
186
-
this applies to feature and major PRs. For both these types the 'Summary of changes' section must be
187
-
completed. This should provide a brief description of changes introduced, including justification.
180
+
Every pull request changing or adding functionality must fill in the "Release notes" section. This applies to feature and major PRs. For both these types, you must complete the "Summary of changes" section. Provide a brief description of changes introduced, including justification.
188
181
189
-
For major PRs is is also compulsory to complete the 'Impact of changes' and 'Migration actions required'.
182
+
For major PRs, it is also compulsory to complete the "Impact of changes" and "Migration actions required".
190
183
191
184
The impact of changes must contain an analysis of effects: components affected and potential consequences for users.
192
185
193
-
The migration actions required should describe how to migrate from a previous version of the code being
194
-
changed to the new version. Please include code snippets to illustrate before and after the addition or
195
-
change.
196
-
197
-
The release notes section is automatically pulled into the overall release notes for a feature or major
198
-
release and this should be considered when writing the entries.
186
+
The migration actions required should describe how to migrate from a previous version of the code being changed to the new version. Please include code snippets to illustrate before and after the addition or change.
199
187
188
+
The release notes section is automatically pulled into the overall release notes for a feature or major release. This should be considered when you write the entries.
200
189
201
190
## GitHub pull requests workflow
202
191
@@ -218,41 +207,43 @@ All pull requests must be reviewed. The Arm Mbed CI bot determines the most suit
218
207
219
208
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.
220
209
221
-
Label: `needs: review`
222
-
Time: Three days for reviewers to leave feedback after the maintainers add the label.
210
+
-Label: `needs: review`.
211
+
-Time: Three days for reviewers to leave feedback after the maintainers add the label.
223
212
224
213
### The Continuous Integration (CI) testing
225
214
226
215
There are many [CI systems available](../contributing/ci.html) for testing Mbed OS pull requests and braches. Which CI tests we run against a particular pull request depends on the effect that it has on the code base. Irrespective of which CI tests run, Mbed OS has an all-green policy, meaning that all triggered CI jobs must pass before we merge the pull request.
227
216
228
-
- Label: `needs: CI`
217
+
- Label: `needs: CI`.
229
218
- Time: One day for CI to complete and report back results.
230
219
231
220
### Work needed
232
221
233
222
A pull request in the "work needed" state requires additional work due to failed tests, or rework as a result of the review. If a pull request is in this state, our maintainers request changes from the pull request author.
234
223
235
-
- Label: `needs: work`
224
+
- Label: `needs: work`.
236
225
- Time: Three days for the pull request author to action the review comments.
237
226
238
227
### Ready for integration
239
228
240
229
Maintainers merge pull requests during the internal gatekeeping meetings that occur three times a week. They can merge straightforward pull requests immediately.
241
230
242
-
- Label: `Ready for merge`
243
-
- Time: Two days
231
+
- Label: `Ready for merge`.
232
+
- Time: Two days.
244
233
245
234
### Releases
246
235
247
236
When we merge a pull request that we will publish in a patch release, we tag it with the specific patch release version. This is the release in which we first publish this pull request. For patch releases, we allow only bug fixes, new targets and enhancements to existing functionality. New features are only published in feature releases.
248
237
249
-
The release tag has the following format:
238
+
The release tag has the format:
239
+
240
+
*release-version: m.f.p*
250
241
251
-
*release-version: m.f.p*Where:
242
+
Where:
252
243
253
-
*`m` is the major release
254
-
*`f` is the feature release
255
-
*`p` is the patch release.
244
+
-`m` is the major release.
245
+
-`f` is the feature release.
246
+
-`p` is the patch release.
256
247
257
248
From time to time there may be additional suffixes added which could represent a release candidate or
0 commit comments