diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index b78bacd..535d915 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -9,8 +9,7 @@ jobs: strategy: matrix: jruby_version: - - 9.3.15.0 - - 9.4.8.0 + - 9.1.17.0 fail-fast: false steps: - uses: actions/checkout@v4 @@ -19,15 +18,15 @@ jobs: with: java-version: 8 distribution: "temurin" - - name: download jruby - run: "curl -L -o jruby.jar https://repo1.maven.org/maven2/org/jruby/jruby-complete/${{ matrix.jruby_version }}/jruby-complete-${{ matrix.jruby_version }}.jar" - # - # For avoiding permission denied. install gems into `gems` directory - # - - name: bundle install - run: "env GEM_HOME=gems java -jar jruby.jar -S bundle install" - + - uses: ruby/setup-ruby@v1 + with: + ruby-version: 'jruby-${{ matrix.jruby_version }}' + bundler-cache: false - name: install embulk.jar - run: "curl -L -o embulk.jar https://github.com/embulk/embulk/releases/download/v0.11.4/embulk-0.11.4.jar" + run: "curl -L -o embulk.jar https://github.com/embulk/embulk/releases/download/v0.9.25/embulk-0.9.25.jar" + - name: chmod embulk.jar + run: "chmod a+x embulk.jar" + - name: bundle install + run: "./embulk.jar bundle install --path vendor/bundle" - name: rake test - run: 'env GEM_HOME=gems RUBYOPT="-r ./embulk.jar -r rubygems" java -jar jruby.jar -S bundle exec rake test' + run: 'bundle exec env RUBYOPT="-r ./embulk.jar -r embulk -r embulk/java/bootstrap" rake test' diff --git a/Gemfile b/Gemfile index f3dd9e3..cf3727f 100644 --- a/Gemfile +++ b/Gemfile @@ -1,9 +1,11 @@ source 'https://rubygems.org/' gemspec -gem 'embulk', '= 0.11.4' +gem 'embulk', '< 0.10' +gem 'liquid', '= 4.0.0' # the version included in embulk.jar gem 'embulk-parser-none' gem 'embulk-parser-jsonl' gem 'pry-nav' gem 'test-unit' gem 'test-unit-rr' +gem 'rake', '10.4.2' diff --git a/embulk-output-bigquery.gemspec b/embulk-output-bigquery.gemspec index fa7c7a1..380bca1 100644 --- a/embulk-output-bigquery.gemspec +++ b/embulk-output-bigquery.gemspec @@ -14,14 +14,18 @@ Gem::Specification.new do |spec| spec.test_files = spec.files.grep(%r{^(test|spec)/}) spec.require_paths = ["lib"] - # the latest version - spec.add_dependency 'google-apis-storage_v1' - spec.add_dependency 'google-apis-bigquery_v2' + # TODO + # signet 0.12.0 and google-api-client 0.33.0 require >= Ruby 2.4. + # Embulk 0.9 use JRuby 9.1.X.Y and it's compatible with Ruby 2.3. + # So, force install signet < 0.12 and google-api-client < 0.33.0 + # Also, representable version >= 3.1.0 requires Ruby version >= 2.4 + spec.add_dependency 'signet', '~> 0.7', '< 0.12.0' + spec.add_dependency 'google-api-client','< 0.33.0' spec.add_dependency 'time_with_zone' - spec.add_dependency 'thwait' - # activesupport require Ruby >= 2.7.0 - # jruby-9.3.0.0 is MRI 2.6 compatible - spec.add_dependency 'activesupport', "< 7.0" + spec.add_dependency "representable", ['~> 3.0.0', '< 3.1'] + # faraday 1.1.0 require >= Ruby 2.4. + # googleauth 0.9.0 requires faraday ~> 0.12 + spec.add_dependency "faraday", '~> 0.12' spec.add_development_dependency 'bundler', ['>= 1.10.6'] spec.add_development_dependency 'rake', ['>= 10.0'] diff --git a/test/helper.rb b/test/helper.rb index 906125d..4b38d7d 100644 --- a/test/helper.rb +++ b/test/helper.rb @@ -4,14 +4,14 @@ require 'test/unit' require 'test/unit/rr' -# Embulk 0.10.x introduced new bootstrap mechanism. -# https://github.com/embulk/embulk/blob/641f35fec064cca7b1a7314d634a4b64ef8637f1/embulk-ruby/test/vanilla/run-test.rb#L8-L13 -static_initializer = Java::org.embulk.EmbulkDependencyClassLoader.staticInitializer().useSelfContainedJarFiles() -static_initializer.java_send :initialize - -require 'embulk/java/bootstrap' require 'embulk' - +begin + # Embulk ~> 0.8.x + Embulk.setup +rescue NotImplementedError, NoMethodError, NameError + # Embulk ~> 0.9.x + require 'embulk/java/bootstrap' +end Embulk.logger = Embulk::Logger.new('/dev/null') APP_ROOT = File.expand_path('../', __dir__)