Skip to content

Latest commit

 

History

History
57 lines (33 loc) · 3.07 KB

CONTRIBUTING.md

File metadata and controls

57 lines (33 loc) · 3.07 KB

Contributing

We welcome all contributions! Please head to issues to either file any bugs/feature requests or find a task you want to assist with. Make sure to assign yourself the task if you decide to work on it.

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 main branch:

git checkout main
git pull upstream main

Install development dependencies

This will install all the dependencies of the package including the active branch of challengeutils.

pip install -r requirements-dev.txt

The development life cycle

  1. Pull the latest content from the main branch of this central repository (not your fork).
  2. Create a feature branch which off the main 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 main 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. Zoom or other video or phone conference).

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()

Tests are also run automatically by Github Actions on any pull request and are required to pass before merging.

Documentation

The documentation automatically generated by roxygen by providing your functions with roxygen comments.