mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-13 14:34:21 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
72d5948221 | ||
|
|
51899ef157 | ||
|
|
a727442384 | ||
|
|
f564484a57 | ||
|
|
ce94adffd3 | ||
|
|
42a259edb2 | ||
|
|
f7849898b0 | ||
|
|
a3894ac3b7 | ||
|
|
5022ef5ab9 | ||
|
|
875ff82065 | ||
|
|
6776a1b083 | ||
|
|
b289c1ab17 | ||
|
|
b5206a3d03 | ||
|
|
925d63f634 | ||
|
|
0b2c3ee702 | ||
|
|
658402fc50 | ||
|
|
0a29871fe2 | ||
|
|
ae403e8ff4 | ||
|
|
3804ad4ff2 |
@@ -1,21 +0,0 @@
|
|||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a report to help us improve
|
|
||||||
title: ''
|
|
||||||
labels: ''
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Before filing this issue:
|
|
||||||
* Make sure you use the latest version with `- uses: ruby/setup-ruby@v1` (see https://github.com/ruby/setup-ruby/blob/master/README.md#versioning)
|
|
||||||
* If the issue happens on JRuby or TruffleRuby, and does not happen on CRuby (please check), file an issue there instead. It's very unlikely ruby/setup-ruby is the cause.
|
|
||||||
* Try to reproduce the issue locally by following the workflow steps (including all commands done by ruby/setup-ruby, except for `Downloading Ruby` & `Extracting Ruby`). If it does reproduce locally, it's not a ruby/setup-ruby issue.
|
|
||||||
|
|
||||||
Please provide:
|
|
||||||
* the code of or a link to the workflow used
|
|
||||||
* the link to the log of a failed workflow job
|
|
||||||
* the command and output of the step failing
|
|
||||||
* whether you are using a self-hosted runner
|
|
||||||
-->
|
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
name: Bug report
|
||||||
|
description: Create a report to help us improve
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: Please note we will close your issue without comment if you do not fill out the requested information.
|
||||||
|
- type: checkboxes
|
||||||
|
attributes:
|
||||||
|
label: Ensure the following before filing this issue
|
||||||
|
options:
|
||||||
|
- label: |
|
||||||
|
I verified it reproduces with the latest version with `- uses: ruby/setup-ruby@v1` (see [Versioning policy](https://github.com/ruby/setup-ruby/blob/master/README.md#versioning))
|
||||||
|
required: true
|
||||||
|
- label: |
|
||||||
|
I tried to reproduce the issue locally by following the workflow steps (including all commands done by `ruby/setup-ruby`, except for `Downloading Ruby` & `Extracting Ruby`),
|
||||||
|
and it did not reproduce locally (if it does reproduce locally, it's not a ruby/setup-ruby issue)
|
||||||
|
required: true
|
||||||
|
# - label: |
|
||||||
|
# If the issue happens on JRuby or TruffleRuby, and does not happen on CRuby (please check), file an issue there instead. It's very unlikely ruby/setup-ruby is the cause.
|
||||||
|
# required: true
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Are you running on a GitHub-hosted runner or a self-hosted runner?
|
||||||
|
options:
|
||||||
|
- GitHub-hosted runner
|
||||||
|
- self-hosted runner
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
render: yaml
|
||||||
|
label: The workflow code or a link to the workflow file
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: Link to the log of a failed workflow job, or to a gist with the output
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
render: shell
|
||||||
|
label: The command and output of the failing step
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Any other notes?
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
blank_issues_enabled: false
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
name: Other issue (not a bug)
|
||||||
|
about: Feature requests, etc
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
@@ -115,9 +115,12 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/gem_from_github.gemfile
|
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/gem_from_github.gemfile
|
||||||
|
|
||||||
- name: which ruby, rake bundle
|
- name: which ruby, bundle
|
||||||
|
shell: bash
|
||||||
|
run: which -a ruby bundle
|
||||||
|
- name: which rake
|
||||||
|
run: which -a rake
|
||||||
if: "!startsWith(matrix.os, 'windows')"
|
if: "!startsWith(matrix.os, 'windows')"
|
||||||
run: which -a ruby rake bundle
|
|
||||||
- name: where ruby, rake, bundle
|
- name: where ruby, rake, bundle
|
||||||
if: startsWith(matrix.os, 'windows')
|
if: startsWith(matrix.os, 'windows')
|
||||||
run: |
|
run: |
|
||||||
@@ -136,6 +139,17 @@ jobs:
|
|||||||
if: startsWith(matrix.os, 'windows') && startsWith(matrix.ruby, 'jruby')
|
if: startsWith(matrix.os, 'windows') && startsWith(matrix.ruby, 'jruby')
|
||||||
run: gem install sassc
|
run: gem install sassc
|
||||||
|
|
||||||
|
testNoGemfile:
|
||||||
|
name: "Test with no Gemfile"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- run: rm Gemfile
|
||||||
|
- uses: ./
|
||||||
|
with:
|
||||||
|
ruby-version: '2.6'
|
||||||
|
- run: ruby -v
|
||||||
|
|
||||||
testLatestRubygemsVersion:
|
testLatestRubygemsVersion:
|
||||||
name: "Test rubygems: latest upgrades the default RubyGems version"
|
name: "Test rubygems: latest upgrades the default RubyGems version"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
@@ -5,8 +5,9 @@ This action downloads a prebuilt ruby and adds it to the `PATH`.
|
|||||||
It is very efficient and takes about 5 seconds to download, extract and add the given Ruby to the `PATH`.
|
It is very efficient and takes about 5 seconds to download, extract and add the given Ruby to the `PATH`.
|
||||||
No extra packages need to be installed.
|
No extra packages need to be installed.
|
||||||
|
|
||||||
Compared to [actions/setup-ruby](https://github.com/actions/setup-ruby),
|
**Important:** Prefer `ruby/setup-ruby@v1`.
|
||||||
this actions supports many more versions and features.
|
If you pin to a commit or release, only the Ruby versions available at the time of the commit
|
||||||
|
will be available, and you will need to update it to use newer Ruby versions, see [Versioning](#versioning).
|
||||||
|
|
||||||
### Supported Versions
|
### Supported Versions
|
||||||
|
|
||||||
@@ -14,21 +15,23 @@ This action currently supports these versions of MRI, JRuby and TruffleRuby:
|
|||||||
|
|
||||||
| Interpreter | Versions |
|
| Interpreter | Versions |
|
||||||
| ----------- | -------- |
|
| ----------- | -------- |
|
||||||
| `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 3.2.0-preview1, head, debug, mingw, mswin |
|
| `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 3.2.0-preview1, head, debug, mingw, mswin, ucrt |
|
||||||
| `jruby` | 9.1.17.0 - 9.3.7.0, head |
|
| `jruby` | 9.1.17.0 - 9.3.7.0, head |
|
||||||
| `truffleruby` | 19.3.0 - 22.2.0, head |
|
| `truffleruby` | 19.3.0 - 22.2.0, head |
|
||||||
| `truffleruby+graalvm` | 21.2.0 - 22.2.0, head |
|
| `truffleruby+graalvm` | 21.2.0 - 22.2.0, head |
|
||||||
|
|
||||||
`ruby-debug` is the same as `ruby-head` but with assertions enabled (`-DRUBY_DEBUG=1`).
|
`ruby-debug` is the same as `ruby-head` but with assertions enabled (`-DRUBY_DEBUG=1`).
|
||||||
On Windows, `mingw` and `mswin` are `ruby-head` builds using the MSYS2/MinGW and the MSVC toolchains respectively.
|
|
||||||
|
Regarding Windows ruby master builds, `mingw` is a MSYS2/MinGW build, `head` & `ucrt` are MSYS2/UCRT64
|
||||||
|
builds, and `mswin` is a MSVC/VS 2022 build.
|
||||||
|
|
||||||
Preview and RC versions of Ruby might be available too on Ubuntu and macOS (not on Windows).
|
Preview and RC versions of Ruby might be available too on Ubuntu and macOS (not on Windows).
|
||||||
However, it is recommended to test against `ruby-head` rather than previews,
|
However, it is recommended to test against `ruby-head` rather than previews,
|
||||||
as it provides more useful feedback for the Ruby core team and for upcoming changes.
|
as it provides more useful feedback for the Ruby core team and for upcoming changes.
|
||||||
|
|
||||||
Only versions published by [RubyInstaller](https://rubyinstaller.org/downloads/archives/) are available on Windows.
|
Only release versions published by [RubyInstaller](https://rubyinstaller.org/downloads/archives/)
|
||||||
Due to that, Ruby 2.2 resolves to 2.2.6 on Windows and 2.2.10 on other platforms.
|
are available on Windows. Due to that, Ruby 2.2 resolves to 2.2.6 on Windows and 2.2.10
|
||||||
And Ruby 2.3 on Windows only has builds for 2.3.0, 2.3.1 and 2.3.3.
|
on other platforms. Ruby 2.3 on Windows only has builds for 2.3.0, 2.3.1 and 2.3.3.
|
||||||
|
|
||||||
Note that Ruby ≤ 2.4 and the OpenSSL version it needs (1.0.2) are both end-of-life,
|
Note that Ruby ≤ 2.4 and the OpenSSL version it needs (1.0.2) are both end-of-life,
|
||||||
which means Ruby ≤ 2.4 is unmaintained and considered insecure.
|
which means Ruby ≤ 2.4 is unmaintained and considered insecure.
|
||||||
@@ -38,14 +41,14 @@ which means Ruby ≤ 2.4 is unmaintained and considered insecure.
|
|||||||
The action works on these [GitHub-hosted runners](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners) virtual environments. Virtual environments not listed below are unsupported.
|
The action works on these [GitHub-hosted runners](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners) virtual environments. Virtual environments not listed below are unsupported.
|
||||||
|
|
||||||
| Operating System | Recommended | Other Supported Versions |
|
| Operating System | Recommended | Other Supported Versions |
|
||||||
| ----------- | -------- | -------- |
|
| ---------------- | ----------- | ------------------------ |
|
||||||
| Ubuntu | `ubuntu-latest` (= `ubuntu-20.04`) | `ubuntu-18.04`, `ubuntu-22.04` |
|
| Ubuntu | `ubuntu-latest` (= `ubuntu-20.04`) | `ubuntu-18.04`, `ubuntu-22.04` |
|
||||||
| macOS | `macos-latest` (= `macos-11`) | `macos-10.15`, `macos-12` (beta) |
|
| macOS | `macos-latest` (= `macos-11`) | `macos-10.15`, `macos-12` |
|
||||||
| Windows | `windows-latest` (= `windows-2022`) | `windows-2019` |
|
| Windows | `windows-latest` (= `windows-2022`) | `windows-2019` |
|
||||||
|
|
||||||
The prebuilt releases are generated by [ruby-builder](https://github.com/ruby/ruby-builder)
|
The prebuilt releases are generated by [ruby-builder](https://github.com/ruby/ruby-builder)
|
||||||
and on Windows by [RubyInstaller2](https://github.com/oneclick/rubyinstaller2).
|
and on Windows by [RubyInstaller2](https://github.com/oneclick/rubyinstaller2).
|
||||||
`mingw` and `mswin` builds are generated by [ruby-loco](https://github.com/MSP-Greg/ruby-loco).
|
The `mingw`, `ucrt` and `mswin` builds are generated by [ruby-loco](https://github.com/MSP-Greg/ruby-loco).
|
||||||
`ruby-head` is generated by [ruby-dev-builder](https://github.com/ruby/ruby-dev-builder),
|
`ruby-head` is generated by [ruby-dev-builder](https://github.com/ruby/ruby-dev-builder),
|
||||||
`jruby-head` is generated by [jruby-dev-builder](https://github.com/ruby/jruby-dev-builder),
|
`jruby-head` is generated by [jruby-dev-builder](https://github.com/ruby/jruby-dev-builder),
|
||||||
`truffleruby-head` is generated by [truffleruby-dev-builder](https://github.com/ruby/truffleruby-dev-builder)
|
`truffleruby-head` is generated by [truffleruby-dev-builder](https://github.com/ruby/truffleruby-dev-builder)
|
||||||
|
|||||||
+1
-1
@@ -72,7 +72,7 @@ export async function installBundler(bundlerVersionInput, rubygemsInputSet, lock
|
|||||||
|
|
||||||
if (bundlerVersion === 'default') {
|
if (bundlerVersion === 'default') {
|
||||||
if (common.isBundler2dot2Default(engine, rubyVersion)) {
|
if (common.isBundler2dot2Default(engine, rubyVersion)) {
|
||||||
if (common.windows && engine === 'ruby') {
|
if (common.windows && engine === 'ruby' && (common.isStableVersion(rubyVersion) || rubyVersion === 'head')) {
|
||||||
// https://github.com/ruby/setup-ruby/issues/371
|
// https://github.com/ruby/setup-ruby/issues/371
|
||||||
console.log(`Installing latest Bundler for ${engine}-${rubyVersion} on Windows because bin/bundle does not work in bash otherwise`)
|
console.log(`Installing latest Bundler for ${engine}-${rubyVersion} on Windows because bin/bundle does not work in bash otherwise`)
|
||||||
bundlerVersion = 'latest'
|
bundlerVersion = 'latest'
|
||||||
|
|||||||
+2
-2
@@ -86,7 +86,7 @@ async function installBundler(bundlerVersionInput, rubygemsInputSet, lockFile, p
|
|||||||
|
|
||||||
if (bundlerVersion === 'default') {
|
if (bundlerVersion === 'default') {
|
||||||
if (common.isBundler2dot2Default(engine, rubyVersion)) {
|
if (common.isBundler2dot2Default(engine, rubyVersion)) {
|
||||||
if (common.windows && engine === 'ruby') {
|
if (common.windows && engine === 'ruby' && (common.isStableVersion(rubyVersion) || rubyVersion === 'head')) {
|
||||||
// https://github.com/ruby/setup-ruby/issues/371
|
// https://github.com/ruby/setup-ruby/issues/371
|
||||||
console.log(`Installing latest Bundler for ${engine}-${rubyVersion} on Windows because bin/bundle does not work in bash otherwise`)
|
console.log(`Installing latest Bundler for ${engine}-${rubyVersion} on Windows because bin/bundle does not work in bash otherwise`)
|
||||||
bundlerVersion = 'latest'
|
bundlerVersion = 'latest'
|
||||||
@@ -66490,7 +66490,7 @@ module.exports = JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"]
|
|||||||
/***/ ((module) => {
|
/***/ ((module) => {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
module.exports = JSON.parse('{"ruby":["1.9.3-p551","2.0.0-p648","2.1.9","2.2.10","2.3.0","2.3.1","2.3.2","2.3.3","2.3.4","2.3.5","2.3.6","2.3.7","2.3.8","2.4.0","2.4.1","2.4.2","2.4.3","2.4.4","2.4.5","2.4.6","2.4.7","2.4.9","2.4.10","2.5.0","2.5.1","2.5.2","2.5.3","2.5.4","2.5.5","2.5.6","2.5.7","2.5.8","2.5.9","2.6.0","2.6.1","2.6.2","2.6.3","2.6.4","2.6.5","2.6.6","2.6.7","2.6.8","2.6.9","2.6.10","2.7.0","2.7.1","2.7.2","2.7.3","2.7.4","2.7.5","2.7.6","3.0.0-preview1","3.0.0-preview2","3.0.0-rc1","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.1.0-preview1","3.1.0","3.1.1","3.1.2","3.2.0-preview1","head","debug"],"jruby":["9.1.17.0","9.2.9.0","9.2.10.0","9.2.11.0","9.2.11.1","9.2.12.0","9.2.13.0","9.2.14.0","9.2.15.0","9.2.16.0","9.2.17.0","9.2.18.0","9.2.19.0","9.2.20.0","9.2.20.1","9.2.21.0","9.3.0.0","9.3.1.0","9.3.2.0","9.3.3.0","9.3.4.0","9.3.6.0","9.3.7.0","head"],"truffleruby":["19.3.0","19.3.1","20.0.0","20.1.0","20.2.0","20.3.0","21.0.0","21.1.0","21.2.0","21.2.0.1","21.3.0","22.0.0.2","22.1.0","22.2.0","head"],"truffleruby+graalvm":["21.2.0","21.3.0","22.0.0.2","22.1.0","22.2.0","head"]}');
|
module.exports = JSON.parse('{"ruby":["1.9.3-p551","2.0.0-p648","2.1.9","2.2.10","2.3.0","2.3.1","2.3.2","2.3.3","2.3.4","2.3.5","2.3.6","2.3.7","2.3.8","2.4.0","2.4.1","2.4.2","2.4.3","2.4.4","2.4.5","2.4.6","2.4.7","2.4.9","2.4.10","2.5.0","2.5.1","2.5.2","2.5.3","2.5.4","2.5.5","2.5.6","2.5.7","2.5.8","2.5.9","2.6.0","2.6.1","2.6.2","2.6.3","2.6.4","2.6.5","2.6.6","2.6.7","2.6.8","2.6.9","2.6.10","2.7.0","2.7.1","2.7.2","2.7.3","2.7.4","2.7.5","2.7.6","3.0.0-preview1","3.0.0-preview2","3.0.0-rc1","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.1.0-preview1","3.1.0","3.1.1","3.1.2","3.2.0-preview1","3.2.0-preview2","head","debug"],"jruby":["9.1.17.0","9.2.9.0","9.2.10.0","9.2.11.0","9.2.11.1","9.2.12.0","9.2.13.0","9.2.14.0","9.2.15.0","9.2.16.0","9.2.17.0","9.2.18.0","9.2.19.0","9.2.20.0","9.2.20.1","9.2.21.0","9.3.0.0","9.3.1.0","9.3.2.0","9.3.3.0","9.3.4.0","9.3.6.0","9.3.7.0","head"],"truffleruby":["19.3.0","19.3.1","20.0.0","20.1.0","20.2.0","20.3.0","21.0.0","21.1.0","21.2.0","21.2.0.1","21.3.0","22.0.0.2","22.1.0","22.2.0","head"],"truffleruby+graalvm":["21.2.0","21.3.0","22.0.0.2","22.1.0","22.2.0","head"]}');
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
|||||||
+7
-4
@@ -1,5 +1,8 @@
|
|||||||
#!/usr/bin/sh
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
yarn install
|
|
||||||
yarn run package
|
if [ "$(dirname "$0")" != ".git/hooks" ] || git diff --cached --name-only | grep -E '.(js|json)$'; then
|
||||||
exec git add dist/index.js
|
yarn install
|
||||||
|
yarn run package
|
||||||
|
exec git add dist/index.js
|
||||||
|
fi
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"2.7.0", "2.7.1", "2.7.2", "2.7.3", "2.7.4", "2.7.5", "2.7.6",
|
"2.7.0", "2.7.1", "2.7.2", "2.7.3", "2.7.4", "2.7.5", "2.7.6",
|
||||||
"3.0.0-preview1", "3.0.0-preview2", "3.0.0-rc1", "3.0.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4",
|
"3.0.0-preview1", "3.0.0-preview2", "3.0.0-rc1", "3.0.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4",
|
||||||
"3.1.0-preview1", "3.1.0", "3.1.1", "3.1.2",
|
"3.1.0-preview1", "3.1.0", "3.1.1", "3.1.2",
|
||||||
"3.2.0-preview1",
|
"3.2.0-preview1", "3.2.0-preview2",
|
||||||
"head", "debug"
|
"head", "debug"
|
||||||
],
|
],
|
||||||
"jruby": [
|
"jruby": [
|
||||||
|
|||||||
Reference in New Issue
Block a user