Compare commits

...
9 Commits
Author SHA1 Message Date
Earlopain 0481980f17 Print lockfile contents earlier
Currently, the lockfile gets printed after `bundle install` finished. This could be too late when `bundle install` fails for whatever reason.

I have a workflow that failed like this:

<details><summary>Logs</summary>
<p>

```

55s
Run ruby/setup-ruby@v1
Modifying PATH
Downloading Ruby
Extracting  Ruby
Print Ruby version
Installing Bundler
> bundle install
/opt/hostedtoolcache/Ruby/2.7.8/x64/bin/bundle config --local path /home/runner/work/rubocop/rubocop/vendor/bundle
/opt/hostedtoolcache/Ruby/2.7.8/x64/bin/bundle lock
Fetching source index from https://rubygems.org/
Network error while fetching
https://rubygems.org/quick/Marshal.4.8/asciidoctor-0.0.1.gemspec.rz (Connection
reset by peer - SSL_connect)
Error: The process '/opt/hostedtoolcache/Ruby/2.7.8/x64/bin/bundle' failed with exit code 17
Run ruby/setup-ruby@v1
Modifying PATH
Downloading Ruby
Extracting  Ruby
Print Ruby version
Installing Bundler
> bundle install
/opt/hostedtoolcache/Ruby/2.7.8/x64/bin/bundle config --local path /home/runner/work/rubocop/rubocop/vendor/bundle
/opt/hostedtoolcache/Ruby/2.7.8/x64/bin/bundle lock
Fetching source index from https://rubygems.org/
Network error while fetching
https://rubygems.org/quick/Marshal.4.8/asciidoctor-0.0.1.gemspec.rz (Connection
reset by peer - SSL_connect)
Error: The process '/opt/hostedtoolcache/Ruby/2.7.8/x64/bin/bundle' failed with exit code 17
```

</p>
</details>

It would help to print the lockfile for this I think. It fetching version 0.0.1 confused me but probably the lockfile looks ok. New output:

```
Run ./
Modifying PATH
Print Ruby version
Installing Bundler
> bundle install
/opt/hostedtoolcache/Ruby/3.2.9/x64/bin/bundle config --local path /home/runner/work/setup-ruby/setup-ruby/vendor/bundle
/opt/hostedtoolcache/Ruby/3.2.9/x64/bin/bundle lock
Fetching gem metadata from https://rubygems.org/...........
Resolving dependencies...
Writing lockfile to /home/runner/work/setup-ruby/setup-ruby/gemfiles/rails8.gemfile.lock
Print lockfile
Cache key: setup-ruby-bundler-cache-v6-ubuntu-24.04-x64-ruby-3.2.9-wd-/home/runner/work/setup-ruby/setup-ruby-with--without--only--/home/runner/work/setup-ruby/setup-ruby/gemfiles/rails8.gemfile.lock-cb69172094f71f01e5207070d9af8d465d9aa9c386ecbad22b1b6e8e43523fd2
/opt/hostedtoolcache/Ruby/3.2.9/x64/bin/bundle install --jobs 4
...
```

So it's relatively at the top and not hidden somewhere. Also removes the need to check for the lockfile again.
2025-09-22 20:15:33 +02:00
Benoit Daloze cf7216d52f Use new releases of ruby-builder per engine-version
* See https://github.com/ruby/setup-ruby/issues/810
2025-09-21 19:19:44 +02:00
ruby-builder-bot 1c58d16f1a Update CRuby releases on Windows 2025-09-21 11:13:21 +02:00
Chad Wilson 1dc7956827 Test on JRuby 9.4 as well as 10.0 2025-09-20 21:59:29 +02:00
Chad Wilson b8714f777a Revert "Skip test failing on JRuby on Windows"
This reverts commit f2f42b7848.
2025-09-20 21:59:29 +02:00
Benoit Daloze d3e13b3e37 Revert "feat: upgrade to node 24"
This reverts commit c4cd38db20.
2025-09-20 21:54:20 +02:00
Benoit Daloze 4df093a946 Revert "chore: add setup-node for lint job"
This reverts commit 866b91cc02.
2025-09-20 21:54:20 +02:00
Rui Chen 866b91cc02 chore: add setup-node for lint job
Signed-off-by: Rui Chen <rui@chenrui.dev>
2025-09-18 22:00:12 +02:00
Rui Chen c4cd38db20 feat: upgrade to node 24
Signed-off-by: Rui Chen <rui@chenrui.dev>
2025-09-18 22:00:12 +02:00
7 changed files with 30 additions and 53 deletions
+2 -3
View File
@@ -20,7 +20,7 @@ jobs:
os: [ ubuntu-22.04, ubuntu-24.04, ubuntu-22.04-arm, ubuntu-24.04-arm, macos-13, macos-14, macos-15, windows-2022, windows-2025, windows-11-arm ] os: [ ubuntu-22.04, ubuntu-24.04, ubuntu-22.04-arm, ubuntu-24.04-arm, macos-13, macos-14, macos-15, windows-2022, windows-2025, windows-11-arm ]
ruby: [ ruby: [
'1.9', '2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3', '3.4', ruby-head, '1.9', '2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3', '3.4', ruby-head,
jruby, jruby-head, jruby-9.4, jruby, jruby-head,
truffleruby, truffleruby-head, truffleruby, truffleruby-head,
truffleruby+graalvm, truffleruby+graalvm-head truffleruby+graalvm, truffleruby+graalvm-head
] ]
@@ -195,8 +195,7 @@ jobs:
shell: bash shell: bash
run: echo ~ && bundle install run: echo ~ && bundle install
- name: Windows JRuby - name: Windows JRuby
# Should be startsWith(matrix.ruby, 'jruby') but broken on jruby-head: https://github.com/jruby/jruby/issues/8623 if: startsWith(matrix.os, 'windows') && startsWith(matrix.ruby, 'jruby')
if: startsWith(matrix.os, 'windows') && matrix.ruby == 'jruby'
run: gem install sassc run: gem install sassc
testDotRubyVersion: testDotRubyVersion:
+3
View File
@@ -165,6 +165,9 @@ export async function bundleInstall(gemfile, lockFile, platform, engine, rubyVer
await exec.exec('bundle', ['lock'], envOptions) await exec.exec('bundle', ['lock'], envOptions)
} }
await core.group(`Print lockfile`, async () =>
await exec.exec('cat', [lockFile]))
// cache key // cache key
const paths = [cachePath] const paths = [cachePath]
const baseKey = await computeBaseKey(engine, rubyVersion, lockFile, cacheVersion) const baseKey = await computeBaseKey(engine, rubyVersion, lockFile, cacheVersion)
Generated Vendored
+11 -26
View File
File diff suppressed because one or more lines are too long
-5
View File
@@ -99,11 +99,6 @@ export async function setupRuby(options = {}) {
if (inputs['bundler-cache'] === 'true') { if (inputs['bundler-cache'] === 'true') {
await common.time('bundle install', async () => await common.time('bundle install', async () =>
bundler.bundleInstall(gemfile, lockFile, platform, engine, version, bundlerVersion, inputs['cache-version'])) bundler.bundleInstall(gemfile, lockFile, platform, engine, version, bundlerVersion, inputs['cache-version']))
if (lockFile !== null && fs.existsSync(lockFile)) {
await core.group(`Print lockfile`, async () =>
await exec.exec('cat', [lockFile]))
}
} }
core.setOutput('ruby-prefix', rubyPrefix) core.setOutput('ruby-prefix', rubyPrefix)
+6 -19
View File
@@ -8,7 +8,6 @@ const tc = require('@actions/tool-cache')
const common = require('./common') const common = require('./common')
const rubyBuilderVersions = require('./ruby-builder-versions') const rubyBuilderVersions = require('./ruby-builder-versions')
const builderReleaseTag = 'toolcache'
const releasesURL = 'https://github.com/ruby/ruby-builder/releases' const releasesURL = 'https://github.com/ruby/ruby-builder/releases'
const windows = common.windows const windows = common.windows
@@ -105,33 +104,21 @@ async function downloadAndExtract(platform, engine, version, rubyPrefix) {
function getDownloadURL(platform, engine, version) { function getDownloadURL(platform, engine, version) {
let builderPlatform = null let builderPlatform = null
if (platform.startsWith('windows-')) { if (platform.startsWith('windows-')) {
if (os.arch() === 'x64') { builderPlatform = `windows-${os.arch()}`
builderPlatform = 'windows-latest'
} else if (os.arch() === 'arm64') {
builderPlatform = 'windows-arm64'
}
} else if (platform.startsWith('macos-')) { } else if (platform.startsWith('macos-')) {
if (os.arch() === 'x64') { builderPlatform = `darwin-${os.arch()}`
builderPlatform = 'macos-latest'
} else if (os.arch() === 'arm64') {
builderPlatform = 'macos-13-arm64'
}
} else if (platform.startsWith('ubuntu-')) { } else if (platform.startsWith('ubuntu-')) {
if (os.arch() === 'x64') { builderPlatform = `${platform}-${os.arch()}`
builderPlatform = platform
} else if (os.arch() === 'arm64') {
builderPlatform = `${platform}-arm64`
}
} }
if (builderPlatform === null) { if (builderPlatform === null || !['x64', 'arm64'].includes(os.arch())) {
throw new Error(`Unknown download URL for platform ${platform}`) throw new Error(`Unknown download URL for platform ${platform}-${os.arch()}`)
} }
if (common.isHeadVersion(version)) { if (common.isHeadVersion(version)) {
return getLatestHeadBuildURL(builderPlatform, engine, version) return getLatestHeadBuildURL(builderPlatform, engine, version)
} else { } else {
return `${releasesURL}/download/${builderReleaseTag}/${engine}-${version}-${builderPlatform}.tar.gz` return `${releasesURL}/download/${engine}-${version}/${engine}-${version}-${builderPlatform}.tar.gz`
} }
} }
+4
View File
@@ -256,6 +256,10 @@
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z", "arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z" "x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
}, },
"3.4.6": {
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
},
"head": { "head": {
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z", "arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z" "x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
+4
View File
@@ -256,6 +256,10 @@
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.5-1/rubyinstaller-3.4.5-1-arm.7z", "arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.5-1/rubyinstaller-3.4.5-1-arm.7z",
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.5-1/rubyinstaller-3.4.5-1-x64.7z" "x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.5-1/rubyinstaller-3.4.5-1-x64.7z"
}, },
"3.4.6": {
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.6-1/rubyinstaller-3.4.6-1-arm.7z",
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.6-1/rubyinstaller-3.4.6-1-x64.7z"
},
"head": { "head": {
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-arm.7z", "arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-arm.7z",
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-x64.7z" "x64": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-x64.7z"