Skip to content

setup-ruby fails when Gemfile.lock has BUNDLED WITH 2.4.0.dev #394

@Ishotihadus

Description

@Ishotihadus

Ensure the following before filing this issue

  • I verified it reproduces with the latest version with - uses: ruby/setup-ruby@v1 (see Versioning policy)

  • 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)

Are you running on a GitHub-hosted runner or a self-hosted runner?

GitHub-hosted runner

The workflow code or a link to the workflow file

https://github.com/Ishotihadus/ruby-workflow-test/blob/main/.github/workflows/test.yaml

Link to the log of a failed workflow job, or to a gist with the output

https://gist.github.com/Ishotihadus/ceeec53cc6d20c23c64583b501645a48

The command and output of the failing step

2022-11-06T07:45:48.3135172Z ##[group]Run ruby/setup-ruby@v1
2022-11-06T07:45:48.3135412Z with:
2022-11-06T07:45:48.3135602Z   ruby-version: head
2022-11-06T07:45:48.3135825Z   bundler-cache: false
2022-11-06T07:45:48.3136032Z ##[endgroup]
2022-11-06T07:45:48.4836313Z ##[group]Modifying PATH
2022-11-06T07:45:48.4844171Z Entries added to PATH to use selected Ruby:
2022-11-06T07:45:48.4845297Z   /home/runner/.rubies/ruby-head/bin
2022-11-06T07:45:48.4846285Z ##[endgroup]
2022-11-06T07:45:48.4891148Z ##[group]Downloading Ruby
2022-11-06T07:45:48.4892896Z https://github.com/ruby/ruby-dev-builder/releases/latest/download/ruby-head-ubuntu-20.04.tar.gz
2022-11-06T07:45:52.1860425Z Took   3.70 seconds
2022-11-06T07:45:52.1861220Z ##[endgroup]
2022-11-06T07:45:52.1861803Z ##[group]Extracting  Ruby
2022-11-06T07:45:52.1892131Z [command]/usr/bin/tar -xz -C /home/runner/.rubies -f /home/runner/work/_temp/4682d8d2-a326-46d7-99b3-f37ce4491baa
2022-11-06T07:45:52.6585264Z Took   0.47 seconds
2022-11-06T07:45:52.6586304Z ##[endgroup]
2022-11-06T07:45:52.6586848Z ##[group]Print Ruby version
2022-11-06T07:45:52.6600950Z [command]/home/runner/.rubies/ruby-head/bin/ruby --version
2022-11-06T07:45:52.6775890Z ruby 3.2.0dev (2022-11-05T14:18:32Z master 267452e6fe) [x86_64-linux]
2022-11-06T07:45:52.6785227Z Took   0.02 seconds
2022-11-06T07:45:52.6786068Z ##[endgroup]
2022-11-06T07:45:52.6788625Z ##[group]Installing Bundler
2022-11-06T07:45:52.6798535Z Using Bundler 2.4.0.dev from Gemfile.lock BUNDLED WITH 2.4.0.dev
2022-11-06T07:45:52.6799036Z Took   0.00 seconds
2022-11-06T07:45:52.6799681Z ##[endgroup]
2022-11-06T07:45:52.6887123Z ##[error]Error: Cannot parse bundler input: 2.4.0.dev
    at Module.installBundler (/home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:115:11)
    at /home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:69331:15
    at body (/home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:306:20)
    at Object.<anonymous> (/home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:3955:28)
    at Generator.next (<anonymous>)
    at /home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:3706:71
    at new Promise (<anonymous>)
    at __webpack_modules__.2186.__awaiter (/home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:3702:12)
    at Object.group (/home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:3951:12)
    at Module.measure (/home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:321:25)

Any other notes?

I think this is because bundler.js detect bundler version by /^\d+(?:\.\d+){0,2}$/.

if (/^\d+(?:\.\d+){0,2}$/.test(bundlerVersion)) {

Bundler is sometimes released under version numbers with suffix, and I think handling this problem is helpful.
https://rubygems.org/gems/bundler/versions

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions