Create pull request

How to create a pull request

After ensuring that the implemented changes pass all relevant tests and meets the contribution guidelines, you can create a pull request following the steps below.

Step 1: Merge upstream repository

Before you contribute your changes need to merge the upstream main branch into your fork. This ensures that your changes are based on the latest version of the code.

To do this, enter the following commands adapted from Syncing a Fork in your terminal or command prompt:

git remote add upstream https://github.com/openproblems-bio/openproblems-v2.git
git fetch upstream
git checkout main
git merge upstream/main

Step 2: Edit changelog

Add an entry to the CHANGELOG.md file describing the proposed changes.

Step 3: Create pull request

The following steps were adapted from Creating a pull request from a fork

  1. Go to https://github.com/openproblems-bio/openproblems-v2/pulls.
  2. Click on the New pull request button.
  3. On the compare page click on the link compare across forks below the title.
  4. On the right side in the head section select your fork repo and the correct branch you want to merge.
  5. Click on Create pull request.
  6. Construct your PR by giving it a title and description.
  7. Make sure you select the box below the description Allow edits from maintainers.
  8. If the PR is ready for review click the button Create Pull Request. Otherwise you can click the arrow next to the button and select Create Draft Pull Request and click the button when it changes.

Next steps

Github Actions

Whenever a Pull Request (including draft) is created a github workflow will perform checks. These checks need to be succesful as a minimum requirement before a merge can be done. When there are errors in the checks, try to fix them while waiting on a review. If it is not possible to fix the error, add a comment to the PR to let the reviewers know.

Review

Your PR will be reviewed by maintainers of OpenProblems. During the review, you can be asked for changes to the code.