Skip to content

Instantly share code, notes, and snippets.

@oshanz
Created January 20, 2020 07:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oshanz/aa0894d17b45c633031bc5ccc6257d49 to your computer and use it in GitHub Desktop.
Save oshanz/aa0894d17b45c633031bc5ccc6257d49 to your computer and use it in GitHub Desktop.
how to contribute to ruby
* https://kirshatrov.com/2020/01/11/contributing-to-mri/
summary
----
* learn make, autoconf
* docker makes life easy + vscode dev container
Dockerfile
```
FROM ubuntu:latest
# tools you need to build MRI
RUN apt-get update && apt-get install -y git ruby autoconf bison gcc make zlib1g-dev libffi-dev libreadline-dev libgdbm-dev libssl-dev build-essential
```
docker-compose.yml
```
version: '3'
services:
dev:
build:
dockerfile: Dockerfile
context: ./
command: sleep infinity
volumes:
- .:/workspace:cached
```
* test
make test-all and make test-all TESTS='test/path/to/test'
* start
https://github.com/ko1/rubyhackchallenge
* flow
```
$ make # build within current directory
$ make install-nodoc # install built files skipping rdoc which takes time
./ruby my-script-to-reproduce.rb # run something on locally built ruby
$ make test-all # run all tests, thought that will take a while
$ make test-all TESTS='test/socket/test_socket.rb' # run socket-related tests
# push to github, let the CI generate more failed tests
# run tests locally again and try to fix it
```
* https://silverhammermba.github.io/emberb/c/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment