-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Making the plugin build system more robust and test with multiple branch and jruby version. #203
Conversation
909b6cd
to
b767f8e
Compare
ci/build.sh
Outdated
./gradlew test | ||
bundle exec rspec spec | ||
bundle exec rake test:integration:setup | ||
bundle exec rspec spec --tag integration |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could split that in two, setup / run
script, opinions? For complexity I though it was fine to only have one script.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should split it and consider the setup script to be generated so that we can do mass updates.
Alternatively, maybe the setup script should be in a central location on github? Maybe we could just curl
that script to prevent the need for mass updates?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, maybe we just have one script that's checked into each repo which is:
curl http://github.com/logstash-plugins/ci/tree/master/setup.sh > setup.sh
./setup.sh
if [[ -f "run.sh" ]];
./run.sh
else
bundle exec rspec spec
bundle exec rspec spec --tag integration
fi
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's easier to have 2 different files in the same repo, this will allow us to iterate and not having to synchronize another repository.
it should also be easy mass update.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a problem yesterday, expressing why I didn't like the ci repository to hold the script. I think this might lead us to a situation similar to devutils. I am OK to split the logic into multiples file to allow easier edits by other developer and also make the mass update a breeze.
.travis.yml
Outdated
- rvm: jruby-9k | ||
env: LOGSTASH_BRANCH=feature/jruby-9k | ||
allow_failures: | ||
- rvm: jruby-9k |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to fetch jruby 9.0.0.0.pre1... I will explicitely use 9.1.9.0.
@andrewvc Can you do a final review? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Love this.
Allow to build the logstash with the following matrix: - Release Gems - Unreleased gems on 5.x - Master - Specific jruby 9k
8de4648
to
c8b50e8
Compare
Closing this since it will be part of a mass update. |
Actually I will merge this PR, I want to do some more testing on travis. |
This add a new command to jarvis that allow you to get the status of the build for the default plugins that we ship with Logstash and it will periodically yield in the #logstash channel to tell us to look after them. You can trigger the query manually like this: ``` @jarvis plugins Jarvis Oops, We have currently *14* plugins jobs failing :sadbazpanda: Failures for branch: *master* logstash-codec-edn, logstash-codec-edn_lines, logstash-codec-es_bulk, logstash-codec-graphite, logstash-codec-json_lines, logstash-codec-multiline, logstash-codec-plain, logstash-filter-kv, logstash-filter-mutate, logstash-filter-split, logstash-filter-xml, logstash-output-elasticsearch, logstash-output-null, logstash-output-statsd ``` It will fetch the following file https://github.com/elastic/logstash/blob/master/rakelib/plugins-metadata.json to get the list of plugins. It can check more than one branch for some plugins, you will have to make a PR to this repository and add your plugin and the additional branch to check to the `plugins_config.yml` file. like this: ``` logstash-output-elasticsearch: - "6.x" ``` This was motivated by logstash-plugins/logstash-input-beats#203 and needed for the migration to jruby 9k
This add a new command to jarvis that allow you to get the status of the build for the default plugins that we ship with Logstash and it will periodically yield in the #logstash channel to tell us to look after them. You can trigger the query manually like this: ``` @jarvis plugins Jarvis Oops, We have currently *14* plugins jobs failing :sadbazpanda: Failures for branch: *master* logstash-codec-edn, logstash-codec-edn_lines, logstash-codec-es_bulk, logstash-codec-graphite, logstash-codec-json_lines, logstash-codec-multiline, logstash-codec-plain, logstash-filter-kv, logstash-filter-mutate, logstash-filter-split, logstash-filter-xml, logstash-output-elasticsearch, logstash-output-null, logstash-output-statsd ``` It will fetch the following file https://github.com/elastic/logstash/blob/master/rakelib/plugins-metadata.json to get the list of plugins. It can check more than one branch for some plugins, you will have to make a PR to this repository and add your plugin and the additional branch to check to the `plugins_config.yml` file. like this: ``` logstash-output-elasticsearch: - "6.x" ``` This was motivated by logstash-plugins/logstash-input-beats#203 and needed for the migration to jruby 9k Fixes #76
This change was done in a mass update closing. |
Allow to build the logstash with the following matrix: