ruby/Setup Ruby, JRuby and TruffleRuby

Download a prebuilt Ruby and add it to the PATH in 5 seconds

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
ruby-versionEngine and version to use, see the syntax in the README. Reads from .ruby-version, .tool-versions or mise.toml if unset.default
rubygemsThe version of RubyGems to use. Either 'default' (the default), 'latest', or a version number (e.g., 3.3.5). For 'default', no action is taken and the version of RubyGems that comes with Ruby by default is used. For 'latest', `gem update --system` is run to update to the latest compatible RubyGems version. Ruby head/master builds will not be updated. Similarly, if a version number is given, `gem update --system <version>` is run to update to that version of RubyGems, as long as that version is newer than the one provided by default.
bundlerThe version of Bundler to install. Either 'Gemfile.lock' (the default), 'default', 'latest', 'none', or a version number (e.g., 1, 2, 2.1, 2.1.4). For 'Gemfile.lock', the version of the BUNDLED WITH section from the Gemfile.lock if it exists. If the file or section does not exist then the same as 'default'. For 'default', if the Ruby ships with Bundler 2.2+ as a default gem, that version is used, otherwise the same as 'latest'. For 'latest', the latest compatible Bundler version is installed (Bundler 2 on Ruby >= 2.3, Bundler 1 on Ruby < 2.3). For 'none', nothing is done.
bundler-cacheRun "bundle install", and cache the result automatically. Either true or false.false
working-directoryThe working directory to use for resolving paths for .ruby-version, .tool-versions, mise.toml and Gemfile.lock.
cache-versionArbitrary string that will be added to the cache key of the bundler cache. Set or change it if you need to invalidate the cache.
self-hostedConsider the runner as a self-hosted runner, which means not using prebuilt Ruby binaries which only work on GitHub-hosted runners or self-hosted runners with a very similar image to the ones used by GitHub runners. The default is to detect this automatically based on the OS, OS version and architecture.
windows-toolchainThis input allows to override the default toolchain setup on Windows. The default setting ('default') installs a toolchain based on the selected Ruby. Specifically, it installs MSYS2 if not already there and installs mingw/ucrt/mswin build tools and packages. It also sets environment variables using 'ridk' or 'vcvars64.bat' based on the selected Ruby. At present, the only other setting than 'default' is 'none', which only adds Ruby to PATH. No build tools or packages are installed, nor are any ENV setting changed to activate them.
tokenUsed to authenticate with GitHub when downloading Ruby release assets. When running this action on github.com, the default value is sufficient. When running on GHES, you can pass a personal access token for github.com if you are experiencing rate limiting. ${{ github.server_url == 'https://github.com' && github.token || '' }}
namedescription
ruby-prefixThe prefix of the installed ruby