From c37045ecf6db73cf5f805d7e7cddfa62fbd1240b Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Fri, 8 Jul 2022 14:34:50 +0200 Subject: [PATCH] GraalVM 22.2+ needs `gu install js` for JavaScript to be available --- .github/workflows/ci.yml | 4 ++++ lib/execjs/graaljs_runtime.rb | 1 + 2 files changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 26fb819..7a5bc80 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,10 @@ jobs: - name: Set TRUFFLERUBYOPT run: echo "TRUFFLERUBYOPT=--jvm --polyglot" >> $GITHUB_ENV if: startsWith(matrix.ruby, 'truffleruby+graalvm') + - name: Install GraalVM js component + run: if ! gu list | grep '^js '; then gu install js; fi + if: startsWith(matrix.ruby, 'truffleruby+graalvm') + - name: Run test run: rake - name: Install gem diff --git a/lib/execjs/graaljs_runtime.rb b/lib/execjs/graaljs_runtime.rb index acb931a..484f18f 100644 --- a/lib/execjs/graaljs_runtime.rb +++ b/lib/execjs/graaljs_runtime.rb @@ -136,6 +136,7 @@ module ExecJS unless Polyglot.languages.include? "js" warn "The language 'js' is not available, you likely need to `export TRUFFLERUBYOPT='--jvm --polyglot'`", uplevel: 0 if $VERBOSE + warn "You also need to install the 'js' component with 'gu install js' on GraalVM 22.2+", uplevel: 0 if $VERBOSE warn "Note that you need TruffleRuby+GraalVM and not just the TruffleRuby standalone to use #{self.class}", uplevel: 0 if $VERBOSE return @available = false end