Skip to content

Commit

Permalink
Add a separate doc for contributing to stdlibs [ci skip]
Browse files Browse the repository at this point in the history
co-authored-by: Peter Zhu <peter@peterzhu.ca>
  • Loading branch information
st0012 and peterzhu2118 committed May 11, 2022
1 parent 0191693 commit 26a07b8
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 10 deletions.
5 changes: 3 additions & 2 deletions doc/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
* [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
* [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
* [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
8 changes: 0 additions & 8 deletions doc/contributing/making_changes_to_ruby.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,3 @@ Use the following style for commit messages:
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.

# 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 changes: 49 additions & 0 deletions doc/contributing/making_changes_to_stdlibs.md
Original file line number Diff line number Diff line change
@@ -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/"
```

0 comments on commit 26a07b8

Please sign in to comment.