Portlet Bridge | Process for Handling Pull Requests

This article describes the tasks for project developers to manage GitHub pull requests from contributors.

Do NOT use the GitHub Pull Request merge facilities.  This creates merge commits that we want to avoid.

Handling a Pull Request

This section describes how to process a pull request from a community member or another project developer.

  • CLA
    • All non-employee contributors to Portlet Bridge must sign the JBoss Contributor License Agreement for the JBoss Portlet Bridge project.
    • Please ensure community members have signed this before processing a pull request from them.
  • JIRA
    • A pull request requires a corresponding JIRA related to the modifications within the pull request.
    • The JIRA should be linked to the pull request by following the instructions in Portlet Bridge | Development Workflow
  • Make sure your local repo is up to date with the latest from Portlet Bridge before processing a pull request

Add git remote reference to pull request

$ git remote add username userRepositoryLocation

Create branch and fetch pull request

$ git fetch username
$ git checkout -b PBR-XXX remotes/username/PBR-XXX

Verify and Test pull request

Verify that the branch containing the pull request builds and passes all tests:

$ mvn clean install

At this point:

  • Review all updates
  • Check code style and other standards

 

Use GitHub pull request comments, or any other communication needs, as necessary, to communicate with the contributor until the pull request is acceptable in quality and consistent with the projects coding standards.

Push updates upstream

$ git checkout master

# for simple or single commit updates
$ git merge PBR-XXX

Verify on master branch that build and tests are successful:

$ mvn clean install

 

Push to origin repo:

$ git push origin master
$ git push upstream master

Final Steps

  • Close the pull request on GitHub
    • This may occur automatically based on the push, but worth verifying
  • Resolve JIRA
    • And assign to appropriate fixVersion if there is not one set