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/contributing/guidelines/workflow.md
+27-13Lines changed: 27 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ You can submit Mbed OS bugs directly on [GitHub](https://github.com/ARMmbed/mbed
37
37
38
38
The bug report should be reproducible (fails for others) and specific (where and how it fails). We will close insufficient bug reports.
39
39
40
-
We copy issues reported on GitHub to our internal tracker and regularly triage them.
40
+
We copy issues reported on GitHub to our internal tracker and regularly triage them. Our ciarcom bot adds an internal tracking reference to each issue: "Internal Jira reference: https://jira.arm.com/browse/MBOTRIAGE-xxxx" and provides labels showing the current state of the mirrored issues.
41
41
42
42
## Guidelines for GitHub pull requests
43
43
@@ -70,6 +70,9 @@ The following template is automatically provided when you raise a pull request a
70
70
71
71
#### Summary of change (*What the change is for and why*)
72
72
73
+
###### Impact of changes
74
+
75
+
###### Migration actions required
73
76
74
77
#### Documentation (*Details of any document updates required*)
75
78
@@ -92,7 +95,6 @@ The following template is automatically provided when you raise a pull request a
## Release Notes (*required for feature/major PRs*)
98
100
@@ -174,11 +176,11 @@ This section is to indicate what test results, if any, are required for the PR.
174
176
175
177
### Reviewers
176
178
177
-
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.
179
+
A bot automatically adds reviewers based on the files that are actually changed. It uses an internal reviewers database. However, this section gives you the option to specify additional, specific reviewers. Tag required reviewers here, such as @adbridge, @0xc0170.
178
180
179
181
### Release notes
180
182
181
-
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.
183
+
Every pull request changing or adding functionality must fill in the "Summary of changes" section.
182
184
183
185
For major PRs, it is also compulsory to complete the "Impact of changes" and "Migration actions required".
184
186
@@ -196,7 +198,7 @@ Each pull request goes through the following workflow:
196
198
197
199
## Pull request states
198
200
199
-
The Mbed OS maintainers add labels to a pull request to describe its workflow states. The Mbed OS maintainers are responsible for moving pull requests through the workflow states.
201
+
Mergify bot drives our workflow. The mergify rules are defined in the Mbed OS repository in the .mergify.yml file. The Mbed OS maintainers are responsible for moving pull requests through the workflow states with help from the mergify bot.
200
202
201
203
Each state is time-boxed. In most cases, this is sufficient time to move to another state. The pull request can be closed if no update is provided within the time frame.
202
204
@@ -206,10 +208,10 @@ If a pull request is idle for more than two weeks, it will be closed. The author
206
208
207
209
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. A PR creator can request specific reviewers by @ tagging people or teams in the *Reviewers* section of the pull request template. For example, @personA@TeamB.
208
210
209
-
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.
211
+
Mergify 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.
210
212
211
213
- Label: `needs: review`.
212
-
- Time: Three days for reviewers to leave feedback after the maintainers add the label.
214
+
- Time: Three days for reviewers to leave feedback after the autoreviewer bot has added the label.
213
215
214
216
### The Continuous Integration (CI) testing
215
217
@@ -227,10 +229,12 @@ A pull request in the "work needed" state requires additional work due to failed
227
229
228
230
### Ready for integration
229
231
230
-
Maintainers merge pull requests during the internal gatekeeping meetings that occur three times a week. They can merge straightforward pull requests immediately.
232
+
A pull request is ready for merge after all the reviews and tests are complete.
233
+
234
+
Maintainers merge pull requests because they have write access to the main master branch. Pull request integration happens at any time of the day. This may be automated in the future.
231
235
232
236
- Label: `Ready for merge`.
233
-
- Time: Two days.
237
+
- Time: One day.
234
238
235
239
### Releases
236
240
@@ -246,20 +250,30 @@ Where:
246
250
-`f` is the feature release.
247
251
-`p` is the patch release.
248
252
249
-
From time to time there may be additional suffixes added which could represent a release candidate or
250
-
alpha/beta release etc
253
+
We may add additional suffixes, which could represent a release candidate, alpha or beta release or so on.
251
254
252
255
## Additional labels
253
256
254
257
We use many other labels to summarize the scope and effect of the changes:
255
258
256
259
-*needs: preceding PR* - Cannot yet be merged because it has a dependency on another pull request that needs to merge first.
257
-
-*DO NOT MERGE* - Contains changes that may be in a draft state and submitted purely for review, or may contain breaking changes that have not been considered.
260
+
-*do not merge* - Contains changes that may be in a draft state and submitted purely for review, or may contain breaking changes that have not been considered.
258
261
-*devices: 'name'* - Specifically affects the named device(s).
259
262
-*component: 'name'* - Specifically affects the named component. Component names follow the structure of Mbed OS (for example `ble`, `storage`, `tls`).
263
+
-*Release review required* - Additional release version approval is required.
264
+
-*release version missing* - A merged pull request does not contain a release label; the maintainers team should fix this.
265
+
-*BREAKING-CHANGE* - This pull request introduces a breaking change.
266
+
-*mirrored* - The git2jira bot mirrored an issue to our internal Jira.
267
+
-*JIRA status:* - An internal Jira ticket status propagated to Github issues. It can be: OPEN, IN PROGRESS, CLOSED, RESOLVED or REOPENED.
268
+
-*closed in jira* - Mirrored internal Jira issue was closed.
269
+
-*Manually patch* - A pull request needs manual cherry-picking for the release candidate to resolve conflicts.
270
+
-*risk: x* - The pull request risk level. Options are green, amber or red.
271
+
-*open for community contributions* - Arm does not intend to fix this issue in the near future.
272
+
-*mirror internally* - This pull request will be manually mirrored to our internal Jira.
260
273
261
274
The following labels summarize the scope of the pull request:
0 commit comments