CONTRIBUTING.md

Contributing

Fork and clone this repository

See the Github docs for how to make a copy (a fork) of a repository to your own Github account.

Then, clone the repository to your local machine so you can begin making changes.

Add this repository as an upstream remote on your local git repository so that you are able to fetch the latest commits.

On your local machine make sure you have the latest version of the develop branch:

git checkout develop
git pull upstream develop

Writing Code

To contribute functions, make sure you add your function to the correct script in the R folder. Your function must be documented via roxygen style. Once you've added a function, use devtools to build the documentation and install your package

devtools::document()
devtools::install()

The development life cycle

develop is the default branch so that contributors will make pull requests against it by default, and not master. The master branch is used for release cycles.

  1. Pull the latest content from the develop branch of this central repository (not your fork).
  2. Create a feature branch which off the develop branch. If there is a GitHub issue that you are addressing, name the branch after the issue with some more detail (like issue-123-add-some-new-feature).
  3. After completing work and testing locally (see below), push to your fork.
  4. In Github, create a pull request from the feature branch of your fork to the develop branch of the central repository.

A code maintainer must review and accept your pull request. A code review (which happens with both the contributor and the reviewer present) is required for contributing. This can be performed remotely (e.g., Skype, Hangout, or other video or phone conference).

This package uses semantic versioning for releasing new versions. The version should be updated on the develop branch as changes are reviewed and merged in by a code maintainer. The version for the package is maintained in the challengeutils/version.py file. A github release should also occur every time develop is pushed into master and it should match the version for the package.

Testing

Please add tests for new code. These might include unit tests (to test specific functionality of code that was added to support fixing the bug or feature), integration tests (to test that the feature is usable - e.g., it should have complete the expected behavior as reported in the feature request or bug report), or both.

This package uses testthat to run tests. The test code is located in the tests subdirectory.

Here's how to run the test suite:

devtools::test()


Sage-Bionetworks/challengescoring documentation built on Sept. 28, 2020, 8:27 a.m.