-
Notifications
You must be signed in to change notification settings - Fork 9.7k
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
docs: Create PR template (no-changelog) #7902
Merged
Changes from 6 commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
a818b35
chore: Create PR template (no-changelog)
mutdmour 124bc3b
chore: Update template
mutdmour b181cda
chore: fix spacing
mutdmour 78fe4ba
chore: fix spacing
mutdmour 542757e
docs: add no-changelog note
mutdmour 0702f4a
docs: add PR title conventions
mutdmour 2d6bdfe
docs: add PR title conventions url correclty
mutdmour d233d7a
docs: typos and link fix
mutdmour f47d7a7
docs: fix space
mutdmour 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 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 |
---|---|---|
@@ -1 +1,22 @@ | ||
Github issue / Community forum post (link here to close automatically): | ||
## Summary | ||
Provide details about your pull request and what it adds, fixes, or changes. Photos and videos are recommended. | ||
... | ||
|
||
#### How to test the change: | ||
1. ... | ||
|
||
|
||
## Issues fixed | ||
Include links to Github issue or Community forum post or **Linear ticket**: | ||
> Important in order to close automatically and provide context to reviewers | ||
|
||
... | ||
|
||
|
||
## Review / Merge checklist | ||
- [ ] PR title and summary are descriptive. **Remember, the title automatically goes into the changelog. Use `(no-changelog)` otherwise.** ([convetions](./pull_request_title_conventions.md)) | ||
- [ ] [Docs updated](https://github.com/n8n-io/n8n-docs) or follow-up ticket created. | ||
- [ ] Tests included. | ||
> A bug is not considered fixed, unless a test is added to prevent it from happening again. A feature is not complete without tests. | ||
> | ||
> *(internal)* You can use Slack commands to trigger [e2e tests](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#a39f9e5ba64a48b58a71d81c837e8227) or [deploy test instance](https://www.notion.so/n8n/How-to-use-Test-Instances-d65f49dfc51f441ea44367fb6f67eb0a?pvs=4#f6a177d32bde4b57ae2da0b8e454bfce) or [deploy early access version on Cloud](https://www.notion.so/n8n/Cloudbot-3dbe779836004972b7057bc989526998?pvs=4#fef2d36ab02247e1a0f65a74f6fb534e). |
This file contains 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 |
---|---|---|
@@ -0,0 +1,112 @@ | ||
# PR Title Convention | ||
|
||
We have very precise rules over how Pull Requests (to the `master` branch) must be formatted. This format basically follows the [Angular Commit Message Convention](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit). It leads to easier to read commit history and allows for automated generation of release notes: | ||
|
||
A PR title consists of these elements: | ||
|
||
``` | ||
<type>(<scope>): <summary> | ||
│ │ │ | ||
│ │ └─⫸ Summary: In imperative present tense. | ||
| | Capitalized | ||
| | No period at the end. | ||
│ │ | ||
│ └─⫸ Scope: API|core|editor|* Node | ||
│ | ||
└─⫸ Type: build|ci|docs|feat|fix|perf|refactor|test | ||
``` | ||
|
||
- PR title | ||
- type | ||
- scope (*optional*) | ||
- summary | ||
- PR description | ||
- body (optional) | ||
- blank line | ||
- footer (optional) | ||
|
||
The structure looks like this: | ||
|
||
### **Type** | ||
|
||
Must be one of the following: | ||
|
||
- `feat` - A new feature | ||
- `fix` - A bug fix | ||
- `perf` - A code change that improves performance | ||
- `test` - Adding missing tests or correcting existing tests | ||
- `docs` - Documentation only changes | ||
- `refactor` - A code change that neither fixes a bug nor adds a feature | ||
- `build` - Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) | ||
- `ci` - Changes to our CI configuration files and scripts (e.g. Github actions) | ||
|
||
If the prefix is `feat`, `fix` or `perf`, it will appear in the changelog. However if there is any BREAKING CHANGE (see Footer section below), the commit will always appear in the changelog. | ||
|
||
### **Scope (optional)** | ||
|
||
The scope should specify the place of the commit change as long as the commit clearly addresses one of the following supported scopes. (Otherwise, omit the scope!) | ||
|
||
- `API` - changes to the *public* API | ||
- `core` - changes to the core / private API / backend of n8n | ||
- `editor` - changes to the Editor UI | ||
- `* Node` - changes to a specific node or trigger node (”`*`” to be replaced with the node name, not its display name), e.g. | ||
- mattermost → Mattermost Node | ||
- microsoftToDo → Microsoft To Do Node | ||
- n8n → n8n Node | ||
|
||
### **Summary** | ||
|
||
The summary contains succinct description of the change: | ||
|
||
- use the imperative, present tense: "change" not "changed" nor "changes" | ||
- capitalize the first letter | ||
- *no* dot (.) at the end | ||
- do *not* include Linear ticket IDs etc. (e.g. N8N-1234) | ||
- suffix with “(no-changelog)” for commits / PRs that should not get mentioned in the changelog. | ||
|
||
### **Body (optional)** | ||
|
||
Just as in the **summary**, use the imperative, present tense: "change" not "changed" nor "changes". The body should include the motivation for the change and contrast this with previous behavior. | ||
|
||
### **Footer (optional)** | ||
|
||
The footer can contain information about breaking changes and deprecations and is also the place to [reference GitHub issues](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword), Linear tickets, and other PRs that this commit closes or is related to. For example: | ||
|
||
``` | ||
BREAKING CHANGE: <breaking change summary> | ||
<BLANK LINE> | ||
<breaking change description + migration instructions> | ||
<BLANK LINE> | ||
<BLANK LINE> | ||
Fixes #<issue number> | ||
``` | ||
|
||
or | ||
|
||
``` | ||
DEPRECATED: <what is deprecated> | ||
<BLANK LINE> | ||
<deprecation description + recommended update path> | ||
<BLANK LINE> | ||
<BLANK LINE> | ||
Closes #<pr number> | ||
``` | ||
|
||
A Breaking Change section should start with the phrase "`BREAKING CHANGE:` " followed by a summary of the breaking change, a blank line, and a detailed description of the breaking change that also includes migration instructions. | ||
|
||
> 💡 A breaking change can additionally also be marked by adding a “`!`” to the header, right before the “`:`”, e.g. `feat(editor)!: Remove support for dark mode` | ||
> | ||
> This makes locating breaking changes easier when just skimming through commit messages. | ||
|
||
> 💡 The breaking changes must also be added to the [packages/cli/BREAKING-CHANGES.md](https://github.com/n8n-io/n8n/blob/master/packages/cli/BREAKING-CHANGES.md) file located in the n8n repository. | ||
|
||
Similarly, a Deprecation section should start with "`DEPRECATED:` " followed by a short description of what is deprecated, a blank line, and a detailed description of the deprecation that also mentions the recommended update path. | ||
|
||
### **Revert commits** | ||
|
||
If the commit reverts a previous commit, it should begin with `revert:` , followed by the header of the reverted commit. | ||
|
||
The content of the commit message body should contain: | ||
|
||
- information about the SHA of the commit being reverted in the following format: `This reverts commit <SHA>`, | ||
- a clear description of the reason for reverting the commit message. |
Oops, something went wrong.
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.
😍