Skip to content

How to create a PR

Reed Frandsen edited this page Feb 1, 2022 · 17 revisions

General Information about pull requests:

https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests

Overview of the process:

Pull Requests are used for the OpenBMC Downstream process in the github.com/ibm-openbmc organization.

To merge code into the IBM eBMC downstream code base, here are the key parts of the process:

  • Submit a Pull Request to the appropriate repository(ies) for the function you want merged.
  • Monitor the Jenkins CI results in the PR. If failures are detected, make appropriate fixes to correct.
  • Assign developers that you would like to see review the code in the Pull Request
  • Feedback review comments and followup changes are documented in the PR.
  • Assuming Code Reviews complete and CI passes, IBM OpenBMC Builder (integration manager) will merge
  • Integration manager will do the SRCREV recipe bumps for the given repository changed by the PR.

Detailed steps / example:

  1. Create a clone of repository if you have not already done so.

    • git clone [email protected]:ibm-openbmc/bmcweb.git
    • Instructions below assume remote to this clone is "origin"
  2. Create a fork of the repository

    • Fork button is in upper right of browser
  3. Add fork to remote in repository

  4. Check out or refresh 1020 branch in local repository

    • to checkout first time: git checkout origin/1020 -b 1020
    • or to refresh assuming your in 1020 branch by doing git checkout 1020
    • git pull origin 1020 ( there are other methods to refresh search internet)
  5. Make changes in local repository

    • git checkout 1020 -b <foo bar>
    • make code changes. (can be a cherry-pick if available in gerrit or some other place)
  6. Push changes to remote fork. Assumption: before pushing the local branch. branch has been refresh against the remote branch

  7. In browser go to either github.com/ibm-openbmc/bmcweb or your fork location and select button to create pull request (PR) follow instructions for creating a PR across forks and branches. Target the base 1020 branch (not master) with the branch

  8. Add appropriate reviewers

  9. Once approved the integration manager in collusion with maintainer of repo will merge the PR. The SRCREV bump in ibm-openbmc/openbmc repository recipe will be done by the integration manager.

Clone this wiki locally