mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-13 14:34:21 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6ca151fd1b | ||
|
|
74138471e3 | ||
|
|
b3cff1b264 | ||
|
|
19a43a6a24 | ||
|
|
896e71e063 | ||
|
|
0fa965176e | ||
|
|
19a9babd00 | ||
|
|
7f562e2882 | ||
|
|
0fc657d48d | ||
|
|
9fd324aef7 | ||
|
|
0f5cc21a92 | ||
|
|
2a50164d0e | ||
|
|
14a4f5d1cc | ||
|
|
09a7688d3b | ||
|
|
67178a2693 | ||
|
|
ede5b7227f | ||
|
|
aaddd6855e | ||
|
|
c7aa9f4008 |
@@ -0,0 +1,47 @@
|
||||
name: Check new RubyInstaller releases
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 7,19 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
check_windows_versions:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- run: ruby generate-windows-versions.rb
|
||||
|
||||
- id: diff
|
||||
run: git diff --exit-code
|
||||
continue-on-error: true
|
||||
|
||||
- if: ${{ steps.diff.outcome == 'failure' }} # changed
|
||||
run: ./pre-commit
|
||||
shell: bash
|
||||
|
||||
# See https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#push-pull-request-branches-to-a-fork
|
||||
- if: ${{ steps.diff.outcome == 'failure' }} # changed
|
||||
uses: peter-evans/create-pull-request@v8
|
||||
id: pr
|
||||
with:
|
||||
push-to-fork: ruby-builder-bot/setup-ruby
|
||||
author: ruby-builder-bot <98265520+ruby-builder-bot@users.noreply.github.com>
|
||||
committer: ruby-builder-bot <98265520+ruby-builder-bot@users.noreply.github.com>
|
||||
title: Update CRuby releases on Windows
|
||||
commit-message: Update CRuby releases on Windows
|
||||
body: |
|
||||
Automated PR from the check-new-windows-versions.yml workflow.
|
||||
|
||||
@eregon @larskanis Please merge this PR if the diff is correct.
|
||||
And then release setup-ruby by [running the release workflow](https://github.com/ruby/setup-ruby/actions/workflows/release.yml).
|
||||
branch: windows
|
||||
delete-branch: true
|
||||
token: ${{ secrets.PR_FROM_RUBY_BUILDER_TOKEN }}
|
||||
|
||||
- if: ${{ steps.diff.outcome == 'failure' }} # changed
|
||||
name: PR URL
|
||||
run: echo "${{ steps.pr.outputs.pull-request-url }}"
|
||||
shell: bash
|
||||
+20
-2
@@ -25,6 +25,24 @@ $ cp pre-commit .git/hooks/pre-commit
|
||||
This is entirely automated now since [this issue](https://github.com/ruby/setup-ruby/issues/254).
|
||||
If you do not see a new version more than 24 hours after it was released feel free to file an issue.
|
||||
|
||||
## Release
|
||||
## Release team
|
||||
|
||||
Maintainers can create a release automatically by running [this workflow](https://github.com/ruby/setup-ruby/actions/workflows/release.yml).
|
||||
The current release team is @eregon @MSP-Greg @ntkme @flavorjones @larskanis @headius.
|
||||
They all have write access to the `setup-ruby` repository, to be able to merge and release `ruby-builder-bot` PRs adding new versions.
|
||||
The `ruby-builder-bot` PRs are created by [this workflow](https://github.com/ruby/ruby-builder/actions/workflows/check-new-releases.yml) which runs every hour.
|
||||
|
||||
The release team can create releases by running [this workflow](https://github.com/ruby/setup-ruby/actions/workflows/release.yml).
|
||||
|
||||
The release team and more specifically @larskanis can run [the workflow to check for new RubyInstaller releases](https://github.com/ruby/setup-ruby/actions/workflows/check-new-windows-versions.yml) to speed things up (otherwise it's run twice a day).
|
||||
|
||||
The release team must not merge other PRs than the ones from `ruby-builder-bot` (unless they are also setup-ruby maintainers).
|
||||
|
||||
## Maintainers
|
||||
|
||||
@eregon is the lead maintainer and creator of this action.
|
||||
Any design change (e.g. new input, different way to do things) must have his approval.
|
||||
|
||||
@MSP-Greg @ntkme are maintainers of setup-ruby and should feel free to merge bug fixes, etc.
|
||||
They should request a review on their PR from another maintainer but they don't have to wait for the review if the fix is urgent (e.g. `setup-ruby` broke in some cases and the fix is obvious).
|
||||
|
||||
Naturally maintainers can also [release setup-ruby](https://github.com/ruby/setup-ruby/actions/workflows/release.yml) so the changes from their PR get published.
|
||||
|
||||
@@ -16,7 +16,7 @@ This action currently supports these versions of MRI, JRuby and TruffleRuby:
|
||||
| Interpreter | Versions |
|
||||
| ----------- | -------- |
|
||||
| `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 4.0.1, head, debug, mingw, mswin, ucrt |
|
||||
| `jruby` | 9.1.17.0 - 10.0.2.0, head |
|
||||
| `jruby` | 9.1.17.0 - 10.0.4.0, head |
|
||||
| `truffleruby` | 19.3.0 - 33.0.1, head |
|
||||
| `truffleruby+graalvm` | 21.2.0 - 33.0.1, head |
|
||||
|
||||
@@ -76,7 +76,7 @@ jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: '3.4' # Not needed with a .ruby-version, .tool-versions or mise.toml
|
||||
@@ -101,7 +101,7 @@ jobs:
|
||||
ruby: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4', head, jruby, jruby-head, truffleruby, truffleruby-head]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby }}
|
||||
@@ -124,7 +124,7 @@ jobs:
|
||||
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
|
||||
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: '3.4'
|
||||
@@ -300,6 +300,7 @@ Please [update](https://github.com/ruby/setup-ruby/releases/tag/v1.13.0) if you
|
||||
|
||||
## Credits
|
||||
|
||||
The current maintainer of this action is @eregon.
|
||||
The creator of this action is @eregon.
|
||||
The current maintainers are @eregon @MSP-Greg @ntkme.
|
||||
Most of the Windows logic is based on work by MSP-Greg.
|
||||
Many thanks to MSP-Greg and Lars Kanis for the help with Ruby Installer.
|
||||
|
||||
@@ -281,7 +281,7 @@ export function getOSNameVersionArch() {
|
||||
|
||||
function findWindowsVersion() {
|
||||
const version = os.version()
|
||||
const match = version.match(/^Windows(?: Server)? (\d+) (?:Datacenter|Enterprise)/)
|
||||
const match = version.match(/^Windows(?: Server)? (\d+) (?:Standard|Datacenter|Enterprise)/)
|
||||
if (match) {
|
||||
return match[1]
|
||||
} else {
|
||||
|
||||
+165
-107
File diff suppressed because one or more lines are too long
@@ -219,8 +219,8 @@ function envPreInstall() {
|
||||
if (windows) {
|
||||
// puts normal Ruby temp folder on SSD
|
||||
core.exportVariable('TMPDIR', ENV['RUNNER_TEMP'])
|
||||
// bash - sets home to match native windows, normally C:\Users\<user name>
|
||||
core.exportVariable('HOME', ENV['HOMEDRIVE'] + ENV['HOMEPATH'])
|
||||
// bash - sets home to match native windows
|
||||
core.exportVariable('HOME', os.homedir())
|
||||
// bash - needed to maintain Path from Windows
|
||||
core.exportVariable('MSYS2_PATH_TYPE', 'inherit')
|
||||
}
|
||||
|
||||
@@ -6,11 +6,6 @@ versions.each do |engine_version|
|
||||
engine, version = engine_version.split('-', 2)
|
||||
p [engine, version]
|
||||
|
||||
if engine == 'windows'
|
||||
require_relative 'generate-windows-versions'
|
||||
exit
|
||||
end
|
||||
|
||||
match = case engine
|
||||
when 'ruby', 'jruby'
|
||||
/^\d+\.\d+\./
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"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", "9.3.8.0", "9.3.9.0", "9.3.10.0", "9.3.11.0", "9.3.13.0", "9.3.14.0", "9.3.15.0",
|
||||
"9.4.0.0", "9.4.1.0", "9.4.2.0", "9.4.3.0", "9.4.4.0", "9.4.5.0", "9.4.6.0", "9.4.7.0", "9.4.8.0", "9.4.9.0", "9.4.10.0", "9.4.11.0", "9.4.12.0", "9.4.12.1", "9.4.13.0", "9.4.14.0",
|
||||
"10.0.0.0", "10.0.0.1", "10.0.1.0", "10.0.2.0",
|
||||
"10.0.0.0", "10.0.0.1", "10.0.1.0", "10.0.2.0", "10.0.3.0", "10.0.4.0",
|
||||
"head"
|
||||
],
|
||||
"truffleruby": [
|
||||
|
||||
@@ -301,12 +301,18 @@ events@^3.0.0, events@^3.3.0:
|
||||
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
|
||||
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
|
||||
|
||||
fast-xml-builder@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fast-xml-builder/-/fast-xml-builder-1.0.0.tgz#a485d7e8381f1db983cf006f849d1066e2935241"
|
||||
integrity sha512-fpZuDogrAgnyt9oDDz+5DBz0zgPdPZz6D4IR7iESxRXElrlGTRkHJ9eEt+SACRJwT0FNFrt71DFQIUFBJfX/uQ==
|
||||
|
||||
fast-xml-parser@^5.0.7:
|
||||
version "5.3.3"
|
||||
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.3.3.tgz#84b678e44eb81207c8585795152b4b1c94738b4d"
|
||||
integrity sha512-2O3dkPAAC6JavuMm8+4+pgTk+5hoAs+CjZ+sWcQLkX9+/tHRuTkQh/Oaifr8qDmZ8iEHb771Ea6G8CdwkrgvYA==
|
||||
version "5.4.1"
|
||||
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.4.1.tgz#0c81b8ecfb3021e5ad83aa3df904af19a05bc601"
|
||||
integrity sha512-BQ30U1mKkvXQXXkAGcuyUA/GA26oEB7NzOtsxCDtyu62sjGw5QraKFhx2Em3WQNjPw9PG6MQ9yuIIgkSDfGu5A==
|
||||
dependencies:
|
||||
strnum "^2.1.0"
|
||||
fast-xml-builder "^1.0.0"
|
||||
strnum "^2.1.2"
|
||||
|
||||
http-proxy-agent@^7.0.0:
|
||||
version "7.0.2"
|
||||
@@ -330,9 +336,9 @@ linux-os-info@^2.0.0:
|
||||
integrity sha512-ZopyH4kT2Ehnmix8iUgS/41pfv7fSlUV1JukIn3DB3qD3byvhBNtgCbUApoAtiqcHRLKXCY3zakXlJgiExm2Qg==
|
||||
|
||||
minimatch@^3.0.4:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
|
||||
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
|
||||
version "3.1.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.4.tgz#89d910ea3970a77ac8edfd30340ccd038b758079"
|
||||
integrity sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
@@ -351,7 +357,7 @@ semver@^7.7.3:
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946"
|
||||
integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
|
||||
|
||||
strnum@^2.1.0:
|
||||
strnum@^2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.1.2.tgz#a5e00ba66ab25f9cafa3726b567ce7a49170937a"
|
||||
integrity sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==
|
||||
|
||||
Reference in New Issue
Block a user