Add a separate doc for contributing to stdlibs [ci skip]
co-authored-by: Peter Zhu <peter@peterzhu.ca>
This commit is contained in:
parent
019169346a
commit
26a07b8b46
Notes:
git
2022-05-12 04:13:20 +09:00
@ -5,6 +5,7 @@ This guide outlines ways to get started with contributing to Ruby:
|
|||||||
* [Reporting issues](contributing/reporting_issues.md): How to report issues, how to request features, and how backporting works
|
* [Reporting issues](contributing/reporting_issues.md): How to report issues, how to request features, and how backporting works
|
||||||
* [Building Ruby](contributing/building_ruby.md): How to build Ruby on your local machine for development
|
* [Building Ruby](contributing/building_ruby.md): How to build Ruby on your local machine for development
|
||||||
* [Testing Ruby](contributing/testing_ruby.md): How to test Ruby on your local machine once you've built it
|
* [Testing Ruby](contributing/testing_ruby.md): How to test Ruby on your local machine once you've built it
|
||||||
* [Making changes to Ruby](contributing/making_changes_to_ruby.md): How to submit pull requests
|
* [Making changes to Ruby](contributing/making_changes_to_ruby.md): How to submit pull requests
|
||||||
to change Ruby's documentation, code, test suite, or standard libraries
|
to change Ruby's documentation, code, test suite, or standard libraries
|
||||||
* [Making changes to Ruby documentation](contributing/documentation_guide.md): How to make changes to Ruby documentation
|
* [Making changes to Ruby standard libraries](contributing/making_changes_to_stdlibs.md): How to build, test, and contribute to Ruby standard libraries
|
||||||
|
* [Making changes to Ruby documentation](contributing/documentation_guide.md): How to make changes to Ruby documentation
|
||||||
|
@ -26,11 +26,3 @@ Use the following style for commit messages:
|
|||||||
GitHub actions will run on each pull request.
|
GitHub actions will run on each pull request.
|
||||||
|
|
||||||
There is [a CI that runs on master](https://rubyci.org/). It has broad coverage of different systems and architectures, such as Solaris SPARC and macOS.
|
There is [a CI that runs on master](https://rubyci.org/). It has broad coverage of different systems and architectures, such as Solaris SPARC and macOS.
|
||||||
|
|
||||||
# Contributing to standard libraries
|
|
||||||
|
|
||||||
Everything in the [lib](https://github.com/ruby/ruby/tree/master/lib) directory is mirrored from a standalone repository into the Ruby repository.
|
|
||||||
If you'd like to make contributions to standard libraries, do so in the standalone repositories, and the
|
|
||||||
changes will be automatically mirrored into the Ruby repository.
|
|
||||||
|
|
||||||
For example, CSV lives in [a separate repository](https://github.com/ruby/csv) and is mirrored into [Ruby](https://github.com/ruby/ruby/tree/master/lib/csv).
|
|
||||||
|
49
doc/contributing/making_changes_to_stdlibs.md
Normal file
49
doc/contributing/making_changes_to_stdlibs.md
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
# Making Changes To Standard Libraries
|
||||||
|
|
||||||
|
Everything in the [lib](https://github.com/ruby/ruby/tree/master/lib) directory is mirrored from a standalone repository into the Ruby repository.
|
||||||
|
If you'd like to make contributions to standard libraries, do so in the standalone repositories, and the
|
||||||
|
changes will be automatically mirrored into the Ruby repository.
|
||||||
|
|
||||||
|
For example, CSV lives in [a separate repository](https://github.com/ruby/csv) and is mirrored into [Ruby](https://github.com/ruby/ruby/tree/master/lib/csv).
|
||||||
|
|
||||||
|
## Maintainers
|
||||||
|
|
||||||
|
You can find the list of maintainers [here](https://docs.ruby-lang.org/en/master/maintainers_rdoc.html#label-Maintainers).
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
First, install its dependencies using:
|
||||||
|
|
||||||
|
```
|
||||||
|
bundle install
|
||||||
|
```
|
||||||
|
|
||||||
|
### Libraries with C-extension
|
||||||
|
|
||||||
|
If the library has a `/ext` directory, it has C files that you need to compile with:
|
||||||
|
|
||||||
|
```
|
||||||
|
bundle exec rake compile
|
||||||
|
```
|
||||||
|
|
||||||
|
## Running tests
|
||||||
|
|
||||||
|
All standard libraries use [test-unit](https://github.com/test-unit/test-unit) as the test framework.
|
||||||
|
|
||||||
|
To run all tests:
|
||||||
|
|
||||||
|
```
|
||||||
|
bundle exec rake test
|
||||||
|
```
|
||||||
|
|
||||||
|
To run a single test file:
|
||||||
|
|
||||||
|
```
|
||||||
|
bundle exec rake test TEST="test/test_foo.rb"
|
||||||
|
```
|
||||||
|
|
||||||
|
To run a single test case:
|
||||||
|
|
||||||
|
```
|
||||||
|
bundle exec rake test TEST="test/test_foo.rb" TESTOPS="--name=/test_mytest/"
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user