Skip to content

Commit d64fe7f

Browse files
committed
Merge branch 'master' into ffi-io
2 parents 8af5016 + b6b0a45 commit d64fe7f

File tree

163 files changed

+2049
-2212
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

163 files changed

+2049
-2212
lines changed

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ before_script:
1818
- if [ $TRAVIS_OS_NAME == linux ]; then travis_retry ./configure --llvm-config llvm-config-3.4; fi
1919
- if [ $TRAVIS_OS_NAME == osx ]; then travis_retry ./configure --llvm-config /usr/local/opt/llvm/bin/llvm-config; fi
2020

21-
script: rake
21+
script: rake ci
2222

2323
after_success:
2424
- if [ $TRAVIS_BRANCH == $TRAVIS_TAG ]; then rake deploy; fi

CONTRIBUTING

-102
This file was deleted.

CONTRIBUTING.md

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
## Contributing To Rubinius
2+
3+
We want to start off by saying thank you for using Rubinius. This project is a labor of love, and we appreciate all of the users that catch bugs, make performance improvements, and help with documentation. Every contribution is meaningful, so thank you for participating. That being said, here are a few guidelines that we ask you to follow so we can successfully address your issue.
4+
5+
### Submitting Issues
6+
7+
Please include the following:
8+
9+
* The Rubinius version (rbx -v)
10+
* Your OS (uname -a) RVM/rbenv/chruby/etc version or the commit hash from git if you're building off of a clone
11+
* Stack trace (preferably as a Gist, since they're easier to read) If you can add a failing spec, that's great!
12+
* Please include the simplest possible reproduction you can. This last point is vital to fixing issues.
13+
14+
If available, please also include the contents of the following files as a Gist:
15+
16+
* configure.log
17+
* config.rb
18+
19+
These two files contain the output of the compilation process and the various configuration options used (e.g. compiler options).
20+
21+
### Running Specs
22+
23+
MSpec provides several different scripts to run the specs under different conditions. The default behavior is to simply run all the specs. If you invoke the following command, it will run all the Ruby Array specs:
24+
25+
$ bin/mspec core/array
26+
27+
The -t option specifies which Ruby implementation to run the specs under. The default in Rubinius is to run them with Rubinius, so -tx is implied. You can easily run with another target by giving the name of an executable on your PATH or the full path to an executable. Since the specs are intended to show the behavior of MRI, if you are writing new specs you need to run them under the current stable release of MRI 2.0. For example, if you have a ruby2.0.0 executable on your PATH, you can do the following:
28+
29+
$ bin/mspec -t ruby2.0.0 core/array
30+
31+
Finally, if you are running bin/mspec in the Rubinius source directory, the location of the RubySpecs are known (spec/ruby/), so you can use the full path or the shortened version core/array above.
32+
33+
### Fixing A Bug
34+
35+
* Fork the repo, create a topic branch, and include a spec, if appropriate. Pull requests that need a spec but are submitted without one will be delayed until one is written. The spec should be in a separate commit.
36+
* Please follow the [Coding Style Guide](http://rubini.us/doc/en/contributing/style-guide)
37+
* **Always run the full spec suite**. `rake` will run the VM specs plus RubySpec.
38+
* Please add a detailed commit message. Here is a [fantastic example](https://github.com/rubinius/rubinius/commit/1f9ddd1) by @ryoqun . The preference is for a (max) 50 character summary as line one, a blank line, then any number of lines, no longer than 80 characters.
39+
* Send in that pull request!
40+
* Follow up with us on the ticket if we haven't merged or commented in a few days. We strive to address issues in a reasonable time. If we miss yours, please remind us.
41+
* When unsure about the changes, associated specs or other topics, please ask! We're more than eager to help.
42+
43+
### Writing Specs
44+
45+
A lot of this is already covered in [How To Write A Spec](http://rubini.us/doc/en/how-to/write-a-spec/) but the basic gist of it is as following:
46+
47+
* Spec descriptions (for both "describe" and "it" blocks) should be written in natural English.
48+
* Specs should include only the bare minimum that is required to test something.
49+
* Setup code that is re-used between examples should be placed in a before() block
50+
* When unsure, please ask!
51+
52+
### Performance Patches
53+
54+
We love these!
55+
56+
* Include benchmarks before and after the change. Please include your hardware specs, namely CPU speed, # of cores, speed of hard drive (if SSD, then SSD is fine) and amount of RAM.
57+
* **Always run the full spec suite**. `rake` will ensure you didn't accidentally break anything.
58+
59+
For more details on how to contribute, please see [Contributing to Rubinius](http://rubini.us/2011/10/18/contributing-to-rubinius/).
60+
61+
For more help, visit the [Rubinius Gitter chat room](https://gitter.im/rubinius/rubinius)
62+
63+
Again, thank you!

0 commit comments

Comments
 (0)