File tree Expand file tree Collapse file tree 9 files changed +437
-24
lines changed Expand file tree Collapse file tree 9 files changed +437
-24
lines changed Original file line number Diff line number Diff line change 3
3
- push
4
4
5
5
jobs :
6
+ test-truffleruby :
7
+ name : Test TruffleRuby
8
+ runs-on : ubuntu-20.04
9
+ env :
10
+ TRUFFLERUBYOPT : " --jvm --polyglot"
11
+ steps :
12
+ - name : Checkout
13
+ uses : actions/checkout@v2
14
+ - name : Setup Ruby
15
+ uses : ruby/setup-ruby@v1
16
+ with :
17
+ ruby-version : truffleruby+graalvm-head
18
+ - name : Install GraalVM js component
19
+ run : if ! gu list | grep '^js '; then gu install js; fi
20
+ - name : Bundle
21
+ run : bundle install
22
+ - name : Compile
23
+ run : bundle exec rake compile
24
+ - name : Test
25
+ run : bundle exec rake test
6
26
test-darwin :
7
27
strategy :
8
28
fail-fast : false
Original file line number Diff line number Diff line change 1
1
require "bundler/gem_tasks"
2
2
require "rake/testtask"
3
- require "rake/extensiontask"
4
3
5
4
Rake ::TestTask . new ( :test ) do |t |
6
5
t . libs << "test"
11
10
task :default => [ :compile , :test ]
12
11
13
12
gem = Gem ::Specification . load ( File . dirname ( __FILE__ ) + '/mini_racer.gemspec' )
14
- Rake ::ExtensionTask . new ( 'mini_racer_loader' , gem )
15
- Rake ::ExtensionTask . new ( 'mini_racer_extension' , gem )
13
+
14
+ if RUBY_ENGINE == "truffleruby"
15
+ task :compile do
16
+ # noop
17
+ end
18
+
19
+ task :clean do
20
+ # noop
21
+ end
22
+ else
23
+ require 'rake/extensiontask'
24
+ Rake ::ExtensionTask . new ( 'mini_racer_loader' , gem )
25
+ Rake ::ExtensionTask . new ( 'mini_racer_extension' , gem )
26
+ end
27
+
16
28
17
29
18
30
# via http://blog.flavorjon.es/2009/06/easily-valgrind-gdb-your-ruby-c.html
Original file line number Diff line number Diff line change 1
1
require 'mkmf'
2
+
3
+ if RUBY_ENGINE == "truffleruby"
4
+ File . write ( "Makefile" , dummy_makefile ( $srcdir) . join ( "" ) )
5
+ return
6
+ end
7
+
2
8
require_relative '../../lib/mini_racer/version'
3
9
gem 'libv8-node' , MiniRacer ::LIBV8_NODE_VERSION
4
10
require 'libv8-node'
Original file line number Diff line number Diff line change 1
1
require 'mkmf'
2
2
3
+ if RUBY_ENGINE == "truffleruby"
4
+ File . write ( "Makefile" , dummy_makefile ( $srcdir) . join ( "" ) )
5
+ return
6
+ end
7
+
3
8
extension_name = 'mini_racer_loader'
4
9
dir_config extension_name
5
10
Original file line number Diff line number Diff line change 1
1
require "mini_racer/version"
2
- require "mini_racer_loader"
3
2
require "pathname"
4
3
5
- ext_filename = "mini_racer_extension.#{ RbConfig ::CONFIG [ 'DLEXT' ] } "
6
- ext_path = Gem . loaded_specs [ 'mini_racer' ] . require_paths
7
- . map { |p | ( p = Pathname . new ( p ) ) . absolute? ? p : Pathname . new ( __dir__ ) . parent + p }
8
- ext_found = ext_path . map { |p | p + ext_filename } . find { |p | p . file? }
9
-
10
- raise LoadError , "Could not find #{ ext_filename } in #{ ext_path . map ( &:to_s ) } " unless ext_found
11
- MiniRacer ::Loader . load ( ext_found . to_s )
4
+ if RUBY_ENGINE == "truffleruby"
5
+ require "mini_racer/truffleruby"
6
+ else
7
+ require "mini_racer_loader"
8
+ ext_filename = "mini_racer_extension.#{ RbConfig ::CONFIG [ 'DLEXT' ] } "
9
+ ext_path = Gem . loaded_specs [ 'mini_racer' ] . require_paths
10
+ . map { |p | ( p = Pathname . new ( p ) ) . absolute? ? p : Pathname . new ( __dir__ ) . parent + p }
11
+ ext_found = ext_path . map { |p | p + ext_filename } . find { |p | p . file? }
12
+
13
+ raise LoadError , "Could not find #{ ext_filename } in #{ ext_path . map ( &:to_s ) } " unless ext_found
14
+ MiniRacer ::Loader . load ( ext_found . to_s )
15
+ end
12
16
13
17
require "thread"
14
18
require "json"
You can’t perform that action at this time.
0 commit comments