From 4defe4c666c6ff18b0a92c2573938c175f953da5 Mon Sep 17 00:00:00 2001 From: Dan Croak Date: Mon, 26 May 2014 20:43:06 -0700 Subject: [PATCH] Add bin/setup, improve contributing guidelines Move manual Appraisal tasks into bin/setup. --- CONTRIBUTING.md | 50 ++++++++++++++++++++++++------------------------- bin/setup | 16 ++++++++++++++++ 2 files changed, 40 insertions(+), 26 deletions(-) create mode 100755 bin/setup diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 31c4904..daa10c9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,38 +1,36 @@ -We love pull requests. Here's a quick guide: +# Contributing -1. Fork the repo. +We love pull requests. Here's a quick guide. -2. Run the tests. We only take pull requests with passing tests, and it's great -to know that you have a clean slate: `bundle && rake` +Fork, then clone the repo: -3. Add a test for your change. Only refactoring and documentation changes -require no new tests. If you are adding functionality or fixing a bug, we need -a test! + git clone git@github.com:your-username/factory_girl_rails.git -4. Make the test pass. +Set up your machine: -5. Push to your fork and submit a pull request. + ./bin/setup +Make sure the tests pass: -At this point you're waiting on us. We like to at least comment on, if not -accept, pull requests within three business days (and, typically, one business -day). We may suggest some changes or improvements or alternatives. + rake -Some things that will increase the chance that your pull request is accepted, -taken straight from the Ruby on Rails guide: +Make your change. Add tests for your change. Make the tests pass: -* Use Rails idioms and helpers -* Include tests that fail without your code, and pass with it -* Update the documentation, the surrounding one, examples elsewhere, guides, - whatever is affected by your contribution + rake -Syntax: +Push to your fork and [submit a pull request][pr]. -* Two spaces, no tabs. -* No trailing whitespace. Blank lines should not have any space. -* Prefer &&/|| over and/or. -* MyClass.my_method(my_arg) not my_method( my_arg ) or my_method my_arg. -* a = b and not a=b. -* Follow the conventions you see used in the source already. +[pr]: https://github.com/thoughtbot/factory_girl_rails/compare/ -And in case we didn't emphasize it enough: we love tests! +At this point you're waiting on us. We like to at least comment on pull requests +within three business days (and, typically, one business day). We may suggest +some changes or improvements or alternatives. + +Some things that will increase the chance that your pull request is accepted: + +* Write tests. +* Follow our [style guide][style]. +* Write a [good commit message][commit]. + +[style]: https://github.com/thoughtbot/guides/tree/master/style +[commit]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html diff --git a/bin/setup b/bin/setup new file mode 100755 index 0000000..c908d25 --- /dev/null +++ b/bin/setup @@ -0,0 +1,16 @@ +#!/usr/bin/env sh + +# Run this script immediately after cloning the codebase. + +# Exit if any subcommand fails +set -e + +# Set up Ruby dependencies via Bundler +bundle install + +# Add binstubs to PATH in ~/.zshenv like this: +# export PATH=".git/safe/../../bin:$PATH" +mkdir -p .git/safe + +# Set up Appraisal to help us test against multiple Rails versions +bundle exec appraisal install