dev_docs/tutorials/submit_a_pull_request.mdx
Kibana has hundreds of developers, some of whom are outside of Elastic, so we use a fork-based approach for creating branches and pull requests.
To create and clone a fork:
After cloning your fork and navigating to the directory containing your fork:
# Make sure you currently have the branch checked out off of which you'd like to work
git checkout main
# Create a new branch
git checkout -b fix-typos-in-readme
# Edit some code
vi README.md
# Add/commit the change
git add README.md
git commit -m "Fixed all of the typos in the README"
# Push the branch to your fork
git push -u origin fix-typos-in-readme
If this is a new branch, you will see a link in your terminal that points you directly to a page to create a pull request for that branch.
Compare & pull request button, click that. Otherwise:
Open pull requestCloses #12345v8.0.0, v7.14.0Feature:DevelopmentTeam: label. Add labels for teams that should follow or are responsible for the pull request.release_note:skip if this pull request should not automatically get added to release notes for Kibanabackport:version if you'd like your pull request automatically backported to all labeled versions.If this is your first pull request, a bot will post a comment asking you to sign our CLA / Contributor Agreement. Your pull request won't be able to be merged until you've reviewed and signed the agreement.
At this point, your pull request will be reviewed, discussed, etc. Changes will likely be requested. For complex pull requests, this process could take several weeks. Please be patient and understand we hold our code base to a high standard.
See Pull request review guidelines for our general philosophy for pull request reviews.
If your pull request hasn't been updated with the latest code from the upstream/target branch, e.g. main, in the last 48 hours, it won't be able to merge until it is updated. This is to help prevent problems that could occur by merging stale code into upstream, e.g. something new was recently merged that is incompatible with something in your pull request.
As an alternative to using git to manually update your branch, you can leave a comment on your pull request with the text @elasticmachine merge upstream. This will automatically update your branch and kick off CI for it.
The easiest way to re-trigger CI is to simply update your branch (see above) with the latest code from upstream. This has the added benefit of ensuring that your branch is up-to-date and compatible.