elastic / elastic/logstash

Check that the right version of JRuby is used when running plugin tests

Open
#7,804 0 comments 0 reactions 0 assignees View on GitHub
tests tests-infra
Dominant language
Java
Stars
14.9k
Forks
3.5k
Avg merge
1d 4h
Merged PRs (30d)
88

Description

Logstash 6.x and up uses JRuby 9k while Logstash <= 5.x uses JRuby 1.7.x

If a user clones a plugin repository and runs `bundle install && bundle exec rspec` there is no check in place that ensures bundler will download logstash-core 5.x if the local jruby is 1.7.x, or logstash-core 6.x if jruby is 9k.

As logstash-core master/6.x starts to become more and more incompatible with 1.7.x, we should prevent plugin developers from getting caught by surprise with an error like https://travis-ci.org/logstash-plugins/logstash-input-beats/jobs/257292691#L1167-L1175

Contributor guide

Open the contributing guide

Research direction

Start in a plugin repository’s Bundler and test setup, then run `bundle install && bundle exec rspec` under JRuby 1.7.x and JRuby 9k. Trace how the logstash-core dependency is selected; done means the setup prevents incompatible combinations and selects logstash-core 5.x for JRuby 1.7.x and 6.x for JRuby 9k.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
developer-experience, testing
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.