diff options
author | dblock <dblock@dblock.org> | 2020-01-11 12:11:53 -0500 |
---|---|---|
committer | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2020-01-12 07:44:19 +1300 |
commit | 6fef4abc8e0e18cdcf5c3ca6ad63d5c42deb0432 (patch) | |
tree | aebb51e024752285bae97770faf6719280a73eb6 | |
parent | f61a4cb93da407a463381eedf03725f01aa34efe (diff) | |
download | rack-6fef4abc8e0e18cdcf5c3ca6ad63d5c42deb0432.tar.gz |
Added CONTRIBUTING.md.
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | CONTRIBUTING.md | 136 | ||||
-rw-r--r-- | README.rdoc | 30 | ||||
-rw-r--r-- | rack.gemspec | 2 |
4 files changed, 142 insertions, 27 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index da26a865..4abf183e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ _Note: The list below may not be up-to-date. If you would like to help out and d ### Documentation - CHANGELOG updates. ([@aupajo](https://github.com/aupajo)) +- Added [CONTRIBUTING](CONTRIBUTING.md). ([@dblock](https://github.com/dblock)) ## [2.1.0] - 2020-01-10 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..70a27468 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,136 @@ +Contributing to Rack +===================== + +Rack is work of [hundreds of contributors](https://github.com/rack/rack/graphs/contributors). You're encouraged to submit [pull requests](https://github.com/rack/rack/pulls), [propose features and discuss issues](https://github.com/rack/rack/issues). When in doubt, post to the [rack-devel](http://groups.google.com/group/rack-devel) mailing list. + +#### Fork the Project + +Fork the [project on Github](https://github.com/rack/rack) and check out your copy. + +``` +git clone https://github.com/contributor/rack.git +cd rack +git remote add upstream https://github.com/rack/rack.git +``` + +#### Create a Topic Branch + +Make sure your fork is up-to-date and create a topic branch for your feature or bug fix. + +``` +git checkout master +git pull upstream master +git checkout -b my-feature-branch +``` + +#### Bundle Install and Quick Test + +Ensure that you can build the project and run quick tests. + +``` +bundle install --without extra +bundle exec rake test +``` + +#### Running All Tests + +Install all dependencies. + +``` +bundle install +``` + +Run all tests. + +``` +rake test +``` + +The test suite has no dependencies outside of the core Ruby installation and bacon. + +Some tests will be skipped if a dependency is not found. + +To run the test suite completely, you need: + + * fcgi + * dalli + * thin + +To test Memcache sessions, you need memcached (will be run on port 11211) and dalli installed. + +#### Write Tests + +Try to write a test that reproduces the problem you're trying to fix or describes a feature that you want to build. + +We definitely appreciate pull requests that highlight or reproduce a problem, even without a fix. + +#### Write Code + +Implement your feature or bug fix. + +Make sure that `bundle exec rake fulltest` completes without errors. + +#### Write Documentation + +Document any external behavior in the [README](README.rdoc). + +#### Update Changelog + +Add a line to [CHANGELOG](CHANGELOG.md). + +#### Commit Changes + +Make sure git knows your name and email address: + +``` +git config --global user.name "Your Name" +git config --global user.email "contributor@example.com" +``` + +Writing good commit logs is important. A commit log should describe what changed and why. + +``` +git add ... +git commit +``` + +#### Push + +``` +git push origin my-feature-branch +``` + +#### Make a Pull Request + +Go to https://github.com/contributor/rack and select your feature branch. Click the 'Pull Request' button and fill out the form. Pull requests are usually reviewed within a few days. + +#### Rebase + +If you've been working on a change for a while, rebase with upstream/master. + +``` +git fetch upstream +git rebase upstream/master +git push origin my-feature-branch -f +``` + +#### Make Required Changes + +Amend your previous commit and force push the changes. + +``` +git commit --amend +git push origin my-feature-branch -f +``` + +#### Check on Your Pull Request + +Go back to your pull request after a few minutes and see whether it passed muster with Travis-CI. Everything should look green, otherwise fix issues and amend your commit as described above. + +#### Be Patient + +It's likely that your change will not be merged and that the nitpicky maintainers will ask you to do more, or fix seemingly benign problems. Hang on there! + +#### Thank You + +Please do know that we really appreciate and value your time and work. We love you, really. diff --git a/README.rdoc b/README.rdoc index 56dba691..b84bb5c0 100644 --- a/README.rdoc +++ b/README.rdoc @@ -126,32 +126,6 @@ A Gem of \Rack is available at {rubygems.org}[https://rubygems.org/gems/rack]. Y gem install rack -== Running the tests - -Testing \Rack requires the bacon testing framework: - - bundle install --without extra # to be able to run the fast tests - -Or: - - bundle install # this assumes that you have installed native extensions! - -There is a rake-based test task: - - rake test # tests all the tests - -The testsuite has no dependencies outside of the core Ruby -installation and bacon. - -To run the test suite completely, you need: - - * fcgi - * dalli - * thin - -To test Memcache sessions, you need memcached (will be -run on port 11211) and dalli installed. - == Configuration Several parameters can be modified on Rack::Utils to configure \Rack behaviour. @@ -182,6 +156,10 @@ Can also be set via the +RACK_MULTIPART_PART_LIMIT+ environment variable. See {CHANGELOG.md}[https://github.com/rack/rack/blob/master/CHANGELOG.md]. +== Contributing + +See {CONTRIBUTING.md}[https://github.com/rack/rack/blob/master/CONTRIBUTING.md]. + == Contact Please post bugs, suggestions and patches to diff --git a/rack.gemspec b/rack.gemspec index f0d81ed5..6ed57b29 100644 --- a/rack.gemspec +++ b/rack.gemspec @@ -22,7 +22,7 @@ EOF s.bindir = 'bin' s.executables << 'rackup' s.require_path = 'lib' - s.extra_rdoc_files = ['README.rdoc', 'CHANGELOG.md'] + s.extra_rdoc_files = ['README.rdoc', 'CHANGELOG.md', 'CONTRIBUTING.md'] s.author = 'Leah Neukirchen' s.email = 'leah@vuxu.org' |