backupii/backupii

View on GitHub
CONTRIBUTING.md

Summary

Maintainability
Test Coverage
# Contributing to BackupII

Thank you for contributing to BackupII!

## Bugs

To report a bug, use the [GitHub issue tracker](https://github.com/backupii/backupii/issues). Please
check the Open issues, and create a new issue if you do not see a report that matches the bug that
you have found.

BackupII is used with many different systems and configurations, so the first step for us to solve a
problem is knowing how to reproduce it. You can help us solve your issue by including the versions
of Ruby, BackupII and the operating system on the computer that you used.

To submit a bug fix, please [create a Pull Request](https://github.com/backupii/backupii/compare).
Always develop changes against the `master` branch. Read the Pull Requests section below for more
help with preparing fixes.

## New Features

We are happy to discuss requests for specific features. Please check [the GitHub
repository](https://github.com/backupii/backupii) to see if the feature has already been requested,
and create a new Issue if there is not already an issue that describes the feature that you need. A
good feature request will clearly explain the feature that is required, and include a use case.

Of course, if you would like to write an implementation, that is even better! To submit a feature,
please [create a Pull Request](https://github.com/backupii/backupii/compare). Always develop changes
against the `master` branch. Read the Pull Requests section below for more help with developing
features in this project.

## Pull Requests

We use the standard GitHub [Pull Requests feature](https://help.github.com/articles/about-pull-requests/).
If you would like to discuss some details before you start working on a feature or bug fix,
[open an issue](https://github.com/backupii/backupii/issues).

To help us review your code:

* Use the latest version of the `master` branch as the base for your topic branch
* Be sure to use the latest version of Ruby 2 when you write and test your code
* In the comment box for your pull request, specify the operating system(s) and Ruby version that you have tested your code on
* Write [clear commit messages](http://chris.beams.io/posts/git-commit/):
the first line should be 50 characters or less, and be a clear summary of the commit, e.g. "Fix
Nokogiri compile issue on macOS Sierra, GH #305".

## Triage Issues [![Open Source Helpers](https://www.codetriage.com/backupii/backupii/badges/users.svg)](https://www.codetriage.com/backupii/backupii)

In addition to contributing code, you can help to triage issues. This can include reproducing bug
reports or asking for vital information, such as version numbers or reproduction instructions. If
you would like to start triaging issues, one easy way to get started is to [subscribe to backupii on
CodeTriage](https://www.codetriage.com/backupii/backupii).

## Getting started

BackupII is a Ruby app that is unit and integration tested with Rspec and linted with Rubocop:

```bash
bundle
bundle exec rubocop
bundle exec rspec spec
bundle exec rspec integration
```

There is also a [Dockerfile](Dockerfile) and respective Rake tasks to run all the tests in Docker:

```bash
bundle exec rake docker:prepare docker:spec docker:integration
```