-
Notifications
You must be signed in to change notification settings - Fork 178
workflow: functionality changes release notes addition #933
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
AnotherButler
merged 7 commits into
ARMmbed:development
from
0xc0170:dev_functionalitychange_releasenotes
Feb 8, 2019
Merged
Changes from 5 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
c6c56d9
workflow: functionality changes release notes addition
0xc0170 0003157
workflow: fix impact analysis vs description
0xc0170 237b127
workflow: functionality change migration fix
0xc0170 efc2e0b
workflow: functionality change or addition fix
0xc0170 f8acd99
Edit workflow.md
7b86eb3
workflow: impact to effects wording fix
0xc0170 b85177b
Add requested note to workflow.md
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -82,7 +82,7 @@ Release: patch | |
|
||
#### Refactor | ||
|
||
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. | ||
A refactor is a contribution that modifies the codebase without fixing a bug or changing the existing behavior. Examples of this are 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. | ||
|
||
Release: feature | ||
|
||
|
@@ -94,10 +94,18 @@ Release: patch | |
|
||
#### Functionality change | ||
|
||
Any change in the functionality, it can be adding a new feature, adding a new method or a function. Software language does not matter. | ||
A functionality change can be any change in the functionality, including adding a new feature, a new method or a function. Software language does not matter. | ||
|
||
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. | ||
|
||
Every pull request changing or adding functionality must contain a release notes section called "Release notes" to describe the changes to users. | ||
|
||
It must contain: | ||
|
||
- A brief description of changes introduced. | ||
- An impact analysis: components affected, potential consequences for users and reasons for the addition or change. | ||
- Migration guidance: actions for updating the current code. Please include code snippets to illustrate before and after the addition or change. | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe add a note here t hat this section will be used in official release notes ? or it's clear to reader There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agreed, a note is useful |
||
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. | ||
|
||
Each feature has a tech lead. This person is responsible for: | ||
|
@@ -170,16 +178,16 @@ If a pull request is idle for more than two weeks, it will be closed. The author | |
|
||
#### Reviews | ||
|
||
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. | ||
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. | ||
|
||
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. | ||
|
||
Label: `needs: review` | ||
Time: 3 days for reviewers to leave feedback after the maintainers add the "needs: review" label. | ||
|
||
#### The CI (Continuous Integration) testing | ||
#### The Continuous Integration (CI) testing | ||
|
||
There are many [CI systems available](../contributing/workflow.html#guidelines-for-github-pull-requests) for testing Mbed OS pull requests and braches. Which CI tests we run against a particular pull request depends on the effect that pull request has on the code base. Irrespective of which CI tests run, Mbed OS has an all green policy, meaning that all the CI jobs that are triggered must pass before we merge the pull request. | ||
There are many [CI systems available](../contributing/workflow.html#guidelines-for-github-pull-requests) for testing Mbed OS pull requests and braches. Which CI tests we run against a particular pull request depends on the effect that pull request has on the code base. Irrespective of which CI tests run, Mbed OS has an all-green policy, meaning that all the CI jobs that are triggered must pass before we merge the pull request. | ||
|
||
Label: `needs: CI` | ||
Time: 1 day for CI to complete and report back results. | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Query: Can we use a word other than "impact" here? It's technically imprecise language. ("Impact" implies hitting something, such as impacted teeth or a meteor impact.)
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, what other synonym could be used? I've checked some, could not find anything similar to this one.
I found usually "impact analysis" in some software journals. See for instance https://www.guru99.com/impact-analysis-software-testing.html