ruby / setup-ruby

An action to download a prebuilt Ruby and add it to the PATH in 5 seconds

Home Page:https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JRuby on Windows: "bundler: command not found: rake"

dentarg opened this issue · comments

Actions config used:

jobs:
  build:
    name: '${{ matrix.os }}: ${{ matrix.ruby }}'
    strategy:
      fail-fast: false
      matrix:
        os: [ ubuntu-latest, windows-latest ]
        ruby: [ 2.4, 2.5, 2.6, 2.7, jruby, truffleruby ]
    runs-on: ${{ matrix.os }}
    steps:
    - uses: actions/checkout@v2
    - name: Set up Ruby ${{ matrix.ruby }}
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{ matrix.ruby }}
    - run: ruby -v
    - run: bundle install --jobs 4 --retry 3
    - run: bundle exec rake

Output from the bundle exec rake step

Run bundle exec rake
  bundle exec rake
  shell: C:\Program Files\PowerShell\6\pwsh.EXE -command ". '{0}'"
bundler: command not found: rake
Install missing gem executables with `bundle install`
##[error]Process completed with exit code 1.

The bundle install step before do install rake

I assume JRuby on Windows should work out-of-the-box, right? Am I doing something wrong?

I saw #12, so I checked the asciidoctor-epub3 repo, they are installing bundler themselves, maybe that makes a difference somewhere


Status: see #18 (comment) and below

I'm unsure what's going on.
Could you try if first installing latest bundler (gem install bundler) helps? Shouldn't be necessary, but at least would rule out a Bundler bug already fixed.

I assume JRuby on Windows should work out-of-the-box, right?

That's the aim but my impression is very few people run JRuby in Windows CI in general.
I know little about Windows, even less so about JRuby on Windows.

For instance, I had to figure out myself which launchers to keep and how to get a ruby alias for jruby (jruby/jruby#6042).

One issue I noticed is ruby -v picks up the system ruby when run with shell: bash:
https://github.com/eregon/setup-ruby-test/runs/433744376
That's not good.

Various issues here, once again with how to provide a ruby alias for jruby that works in both PowerShell and Bash:

Here is a final run:
https://github.com/eregon/setup-ruby-test/runs/433804429?check_suite_focus=true

Still bundler: command not found: rake.
This must be a JRuby bug, since it works fine on MRI, and installing rake via bundle install generate very similar rake.bat and rake files for both MRI and JRuby.
Could you report it to https://github.com/jruby/jruby/issues ?

I'll fix the PATH issue, but long story short it doesn't seem the cause here.

OK, this is fun bundle exec rake --version and bundle exec rake default work, but bundle exec rake doesn't!
https://github.com/eregon/setup-ruby-test/runs/433859430

Run bundle exec rake --version
rake, version 13.0.1
Run bundle exec rake default
OK
Run bundle exec rake
bundler: command not found: rake
Install missing gem executables with `bundle install`
##[error]Process completed with exit code 1.

I released 1.41.1 which fixes the PATH so there is no default MRI in PATH, just JRuby.
Now ruby --version and bundle exec rake --version works in both PwSh and Bash.

The rest (bundle exec rake broken) is I believe a JRuby bug, please report it there, I don't think I can do anything about it.

@eregon thanks for debugging the issue, I saw your comment at jruby/jruby-launcher#29 (comment), is that something else so I should file another jruby issue about this?

@dentarg That's something else.

I think the issue is JRuby seems to fail to find executables without arguments on Windows ( bundle exec rake default works, but bundle exec rake doesn't).

I reported this bug to Bundler some time ago: rubygems/bundler#7602. It can be reproduced on any Windows machine with JRuby, it isn't specific to GitHub Actions.

@slonopotamus Thanks!
I would guess a JRuby issue since it works fine on MRI, and I would think the code for bundle exec doesn't really rely on the interpreter name. But one never knows.

I reported the bug to JRuby as well, since I think it might be a JRuby bug: jruby/jruby#6053

This was fixed on Bundler side: rubygems/rubygems#3256 (comment)

Seems to be an issue again: jruby/jruby#6053 (comment)

Seems to be an issue again: jruby/jruby#6053 (comment)
This was fixed on Bundler side: rubygems/rubygems#3256 (comment)

Just an update for anyone finding this thread via search or something, it was concluded that the issue is still with Bundler, rubygems/rubygems#3256 is still open at the time of writing this.

Another update, it is a bug in JRuby, fixed on master but not yet released: jruby/jruby#6745