Logo: Relish

  1. Sign in

Project: Rspec-filesystem

Contributing

Thank you for interest in contributing to rspec-filesystem!

rspec-filesystem uses GitHub issues for discussion, issues, and contributions. There are two main ways to contribute to rspec-filesystem:

One of the goals of rspec-filesystem is to make it easy for the community to contribute changes. To that end, here are detailed guidelines
on how to contribute to rspec-filesystem.

  • Report an issue or make a feature request at rspec-filesystem's issue tracker
  • Contribute features and fix bugs yourself by contributing code to rspec-filesystem (see below).

Issues

Issue tracking for rspec-filesystem happens on GitHub Issues. If you've found a bug or have a feature that you'd like to see implemented,
please report it on the issue tracker. Discussion-only issues are also welcome.

Bug reports

To minimize the time spent by maintainers in diagnosing and fixing bugs, please use the following template when filing a bug report:

### Version

[Version of rspec-filesystem installed, or commit SHA if installed from Git]

### Environment

Operating system: [Your operating system and version, (e.g. Mac OS X 10.9)
Ruby version: [Version of Ruby installed (run `ruby --version`)
RSpec version: [Version of RSpec installed (run `rspec --version`)

[Include any other information about your environment that might be helpful]

### Scenario

[What are you attempting to do that isn't working?]

### Steps to reproduce

[What are the things we need to do in order to reproduce the problem?]

### Expected result:

[What are you expecting to happen when the above steps to reproduce are performed?]

### Actual result:

[What actually happens when the above steps to reproduce are performed?]

Security issues

If you have discovered an issue with rspec-filesystem of a sensitive nature that could compromise the security of rspec-filesystem users,
please report it securely by sending a GPG-encrypted message instead of filing an issue on GitHub. Please use the following key and send
your report to [email protected].

https://raw.github.com/tabolario/rspec-filesystem/tabolario.gpg

The fingerprint of the key should be:

6EED 2359 968F 7734 06A4 AB56 D90E 487A 60F1 0579

Discussions

Issues to discuss the architecture, design, and functionality of rspec-filesystem are welcome on the issue tracker, and this is where these
discussions are preferred so that we can track them and associate them with issues if necessary.

Pull requests

Getting started

  • Fork the repository on GitHub.
  • Install development dependencies: bundle
  • Install the pre-commit hook: bundle exec overcommit --install
  • Make sure the test suite runs for you: bundle exec rake

Making changes

  • Create a topic branch for your work.
    • Prefer to target master for new topic branches (git checkout -b feature/my-new-feature master).
    • Only target release branches (e.g. X-0-0) if your change must be for that release.
    • Avoid working directly on the master branch.
  • Make atomic commits of logical units.
  • Check to make sure your changes adhere to the project style guide and linter configuration with bundle exec rake lint. (This is done automatically if you have the pre-commit hook installed.)
  • Write unit and integration tests as necessary for your changes. Pull requests will not be accepted for non-trivial changes without tests.
  • Ensure that the entire test suite passes with bundle exec rake spec.
  • Create a pull request on GitHub for your contribution.
  • Check Travis CI for your pull request. Only green pull requests will be merged.

Trivial changes

Certain types of changes do not need to undergo the same process as changes involving the functionality of rspec-filesystem (e.g. running
tests and static analysis tools). These types of changes include:

  • Changes to "root documentation" like README.md, CHANGELOG.md, documents in the docs directory, and this document
  • Changes to build scripts, and other development configuration files
  • Comment cleanup
  • Formatting cleanup
  • Spelling/grammar fixes
  • Typo corrections

Trivial changes do need to pass the Ruby linter (bundle exec rake lint:ruby) if they make changes to any Ruby code.

Getting help

A number of support channels are available for getting help with rspec-filesystem:


Last published about 5 years ago by Tony Burns.