Pull Request process - Talend/ui GitHub Wiki
- Create a pull request, fill the template, do and check as many checkbox as required
- CI : compile, test, lint (pushed to PR), theme screenshots (pushed to PR), publish static site containing Storybooks and code coverage
- Reviews by at least 2 other contributors
- Merge to master and remove branch
Create a pull request from your branch to master.
Paragraph | Description |
---|---|
Title | it must follow PR commit guideline. |
Problem description | Explain the issue or the feature it tries to solve. Include image/gif if possible. |
Solution description | Explain the solution. Include image/gif if possible. |
Requirements | Fit as much as possible the requirements. A PR may be rejected if it doesn't follow the guideline or not well tested/documented. |
Breaking changes | Explain as precisely as possible the breaking changes your PR introduced. |
The CI is run on each PR, using github action. It performs some cool operations :
You should run those by yourself on your machine to ensure that this trivial step passes.
From the root of the project
yarn && yarn test
To limit the es linter errors, we run prettier on the changed files.
Those changes will be pushed on PR the branch with the message test(ci): prettier
.
The stylelint and eslint linters results will be added as annotation in your PR. New errors must be fixed, and may cause reviewers to block the merge.
From the package you want to lint (ex: /package/components/)
yarn run lint:es
yarn run lint:style
A static website is published on <PR_id>.talend.surge.sh
. The link is pushed as a comment in your PR. It allows reviewers to see the result and play with it before looking at the code or starting all those locally.
It contents :
- Components/Containers/Forms storybooks and Theme showroom
- Code coverage of each package
2 approvals are required, if possible at least 1 from someone not from your team.
To perform a review, use github review feature.
The merge will be performed when all those steps are done.
On merge, don't forget to remove the branch (the button that appears after merge)