Change - Know that nothing stays the same

Contribuir en Rails - Parte I

October 24, 2012

rails
contribute
edge

Este post no pretende ser una traducción completa de la guía de como contribuir a rails, solo pretendo mostrar las cosas mas generales para poder tener una idea.

Como primer paso y de lectura obligada podemos ver el HowTo Contribute To Rails  que nos explica en una gran parte como hacer las siguientes tareas:

  • Como usar github para reportar problemas
  • Clonar el repo maestro y ejecutar los test
  • Ayudar a resolver los problemas reportados
  • Contribuir a la documentación
  • Contribuir al código de Ruby on Rails
  • Como usar github para reportar problemas

Se utiliza github para reportar los problemas de Ruby on Rails. Pueden ir acá y ver o reportar uno nuevo. Se necesita un usuario de GitHub y hacen especial pedido de no reportar por este medio problemas de seguridad, los cuales tienen su forma particular de reportarse.

También se pide que no se ponga ningún pedido de nuevas funcionalidad en este lugar, no es el lugar, ni la forma.

Clonar el repo maestro y ejecutar los test (aca va la forma de correrlo local, sin VB como muestra en la guía también, a esta forma la llama, forma dura)

Para poder ayudar al desarrollo de Rails, resolviendo un issue existente o aportando código, se debe poder correr los tests del proyecto. 

Los pasos son:

  1. instalar Git,
  2. clonar el repositorio de rails:
$ git clone got://github.com/rails/rails.git
$ cd rails
  1. set up necesario y ejecutar los tests

El setup necesario dependerá de cada maquina donde se quiera ejecutar esto.

Para ejecutar los tests hacemos:

$ bundle exec rake test

Si queremos, podemos limitar que tests vamos a correr usando una parte del framework, por ejemplo:

$ cd actionpack
$ bundle exec rake test

También se puede usar la variable TEST_DIR:

$ cd railties
$ TEST_DIR=generators bundle exec rake test

A esta altura, si hacemos un ‘rake test’ dentro de activerecord, tendremos como respuesta para los tests con sqlite3:

Finished tests in 71.650325s, 48.4157 tests/s, 137.5709 assertions/s.
3469 tests, 9857 assertions, 0 failures, 0 errors, 28 skips

A continuación nos dará algún error de que no tenemos configurado mysql y pgsql. Para actionpack (imagine que podía llegar a tener algún error por los que actualmente hay reportados pero todos pasaron ok):

Finished tests in 43.976659s, 89.5020 tests/s, 384.1129 assertions/s.
3936 tests, 16892 assertions, 0 failures, 0 errors, 0 skips
………………………………………………………………..
Finished tests in 5.210828s, 14.2012 tests/s, 18.8070 assertions/s.
74 tests, 98 assertions, 0 failures, 0 errors, 0 skips

Voy a ir cerrando este post con el comentario de que todavía estoy corriendo tests en railties. Si no me equivoco, y lo voy a confirmar mañana, los tests fueron reescritos con minitests, no se si será por esto, pero me parecieron excesivamente veloces, lo cual es muy bueno.:w


Agustin Vinao
Agustin Vinao.

Paradox: Life is a mystery. Don't waste time trying to figure it out.
Humor: Keep a sense of humor, especially about yourself. It is a strength beyond all measure.
Change: Know that nothing stays the same.