Skip to content
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

Closed
wants to merge 2 commits into from

Conversation

ph
Copy link
Contributor

@ph ph commented May 16, 2017

Allow to build the logstash with the following matrix:

  • Release Gems + JRuby 1.7.25
  • Unreleased gems on 5.x + JRuby-1.7.25
  • Logstash Master + JRuby-1.7.25
  • Specific JRuby 9k Logstash feature branch + JRuby-1.7.25

@ph ph force-pushed the feature/jruby-9k-more-complex-build branch 2 times, most recently from 909b6cd to b767f8e Compare May 17, 2017 13:41
@ph ph changed the title [wip] Making the plugin build system a more robust Making the plugin build system more robust and test with multiple branch and jruby version. May 17, 2017
@ph ph requested a review from guyboertje May 17, 2017 14:01
ci/build.sh Outdated
./gradlew test
bundle exec rspec spec
bundle exec rake test:integration:setup
bundle exec rspec spec --tag integration
Copy link
Contributor Author

@ph ph May 17, 2017

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.

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?

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

Copy link
Contributor Author

@ph ph May 17, 2017

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.

Copy link
Contributor Author

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
Copy link
Contributor Author

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.

@ph
Copy link
Contributor Author

ph commented May 19, 2017

@andrewvc Can you do a final review?

Copy link

@andrewvc andrewvc left a 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
@ph ph force-pushed the feature/jruby-9k-more-complex-build branch from 8de4648 to c8b50e8 Compare May 23, 2017 15:07
@ph
Copy link
Contributor Author

ph commented May 24, 2017

Closing this since it will be part of a mass update.

@ph ph closed this May 24, 2017
@ph ph reopened this May 25, 2017
@ph
Copy link
Contributor Author

ph commented May 25, 2017

Actually I will merge this PR, I want to do some more testing on travis.

ph added a commit to ph/jarvis that referenced this pull request May 25, 2017
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
elasticsearch-bot pushed a commit to elastic/jarvis that referenced this pull request May 26, 2017
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
@ph
Copy link
Contributor Author

ph commented Jun 9, 2017

This change was done in a mass update closing.

@ph ph closed this Jun 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants