Conversation
blackjid
commented
Apr 9, 2025
- chore(github): run specs on ruby versions >= 3
- feat(ruby): add support for ruby > 3
f5ca2c8 to
8a9ddf0
Compare
42621e5 to
582acdb
Compare
| runs-on: ubuntu-latest | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: |
There was a problem hiding this comment.
chuta, me quede colgado si la pregunta era de verdad o era por la talla...
Contesto igual...
strategy.matrix te permite definir un job que corra multiples veces en pararllelo. Y se puede interpolar valores en el job usando ${{ matrix.<key>}}
En este caso, corremos el mismo job para cada version de ruby, y usamos el valor para decirle a ruby-setup que instale esa version.
Ademas hay un caso expecial en que para ruby 2.7 agregamos otro valor, rubygems: 3.3.22, y usamos ese valor para actualizar ruby gems cuando estamos en el job 2.7
El fail-fast: false es por que en true (default) si uno de los jobs falla, los otros se cancelan.
Con el needs: [test] que hay en el siguiente job, hacemos que tengan que pasar todos los jobs paralalelos de test antes que se ejecute el siguiente