Skip to content

Commit 4b152f0

Browse files
author
Amanda Butler
authored
Merge pull request #1222 from 0xc0170/fix_pull_request_states
Workflow: update, multiple smaller fixes
2 parents 4bf4fd7 + aa2c302 commit 4b152f0

File tree

1 file changed

+27
-13
lines changed

1 file changed

+27
-13
lines changed

docs/contributing/guidelines/workflow.md

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ You can submit Mbed OS bugs directly on [GitHub](https://github.com/ARMmbed/mbed
3737

3838
The bug report should be reproducible (fails for others) and specific (where and how it fails). We will close insufficient bug reports.
3939

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.
4141

4242
## Guidelines for GitHub pull requests
4343

@@ -70,6 +70,9 @@ The following template is automatically provided when you raise a pull request a
7070

7171
#### Summary of change (*What the change is for and why*)
7272

73+
###### Impact of changes
74+
75+
###### Migration actions required
7376

7477
#### Documentation (*Details of any document updates required*)
7578

@@ -92,7 +95,6 @@ The following template is automatically provided when you raise a pull request a
9295
----------------------------------------------------------------------------------------------------------------
9396
## Reviewers (*optional*)
9497

95-
9698
----------------------------------------------------------------------------------------------------------------
9799
## Release Notes (*required for feature/major PRs*)
98100

@@ -174,11 +176,11 @@ This section is to indicate what test results, if any, are required for the PR.
174176

175177
### Reviewers
176178

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.
178180

179181
### Release notes
180182

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.
182184

183185
For major PRs, it is also compulsory to complete the "Impact of changes" and "Migration actions required".
184186

@@ -196,7 +198,7 @@ Each pull request goes through the following workflow:
196198

197199
## Pull request states
198200

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.
200202

201203
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.
202204

@@ -206,10 +208,10 @@ If a pull request is idle for more than two weeks, it will be closed. The author
206208

207209
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.
208210

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.
210212

211213
- 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.
213215

214216
### The Continuous Integration (CI) testing
215217

@@ -227,10 +229,12 @@ A pull request in the "work needed" state requires additional work due to failed
227229

228230
### Ready for integration
229231

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.
231235

232236
- Label: `Ready for merge`.
233-
- Time: Two days.
237+
- Time: One day.
234238

235239
### Releases
236240

@@ -246,20 +250,30 @@ Where:
246250
- `f` is the feature release.
247251
- `p` is the patch release.
248252

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.
251254

252255
## Additional labels
253256

254257
We use many other labels to summarize the scope and effect of the changes:
255258

256259
- *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.
258261
- *devices: 'name'* - Specifically affects the named device(s).
259262
- *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.
260273

261274
The following labels summarize the scope of the pull request:
262275

263276
- *scope: bug-fix*.
264277
- *scope: feature*.
265-
- *scope: new-target*
278+
- *scope: new-target*.
279+
- *scope: refactor*.

0 commit comments

Comments
 (0)