Files
setup-ruby/README.md
T
2020-01-02 22:58:57 +01:00

91 lines
2.2 KiB
Markdown

# use-ruby
This action downloads a prebuilt ruby and adds it to `$PATH`.
It currently supports the latest stable versions of MRI, JRuby and TruffleRuby.
See https://github.com/eregon/ruby-install-builder/blob/metadata/versions.json
for the available Ruby versions.
The action works for the `ubuntu-16.04`, `ubuntu-18.04` and `macos-latest` GitHub-hosted runners.
`windows-latest` is not yet supported.
The prebuilt rubies are generated by https://github.com/eregon/ruby-install-builder.
## Usage
### Single Job
```yaml
name: My workflow
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: eregon/use-ruby-action@master
with:
ruby-version: ruby-2.6.5
- run: ruby -v
```
### Matrix
```yaml
name: My workflow
on: [push]
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ 'ubuntu-latest', 'macos-latest' ]
ruby: [ 'ruby-2.6.5', 'ruby-2.7.0', 'truffleruby-19.3.0', 'jruby-9.2.9.0' ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: eregon/use-ruby-action@master
with:
ruby-version: ${{ matrix.ruby }}
- run: ruby -v
```
If a specific version is not given, it uses the latest stable release of that implementation.
For instance `truffleruby` is currently the same as `truffleruby-19.3.0`.
If it's just a version number (e.g., `2.6.5`), then MRI is assumed (same as `ruby-2.6.5`).
### All Stable Versions
With that, we can test on all stable releases of MRI, JRuby and TruffleRuby with:
```yaml
name: My workflow
on: [push]
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ 'ubuntu-latest', 'macos-latest' ]
ruby: [ '2.4.9', '2.5.7', '2.6.5', '2.7.0', 'truffleruby', 'jruby' ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: eregon/use-ruby-action@master
with:
ruby-version: ${{ matrix.ruby }}
- run: ruby -v
```
## Efficiency
It takes about 5 seconds to setup the given Ruby.
## Limitations
* Currently does not work on Windows since the builder doesn't build on Windows.
https://github.com/MSP-Greg/actions-ruby is an alternative on Windows.
* This action currently only works with GitHub-hosted runners, not private runners.