cucumber / aruba

Test command-line applications with Cucumber-Ruby, RSpec or Minitest.
MIT License
949 stars 163 forks source link

Unify still and master branches #598

Closed mvz closed 4 years ago

mvz commented 5 years ago

Summary

We should update the still development branch so the change to master is no more than a removal of deprecations.

Details

This will be a combination of backporting bug fixes, moving deprecated code, moving other files. The end goal is that merging still into master will only lead to conflicts in deleted files that contain the code deprecated in the 0.14.x line and removed in 1.0.0.

Motivation and Context

A lot of projects that use Aruba are not even on 0.14.x yet. We should be able to tell them that they should do that and fix all deprecations, and then they should be able to safely move to upcoming 1.0.0. Since there are still reasons why projects are stuck on pre-0.14 versions, these reasons should be taken away first. This means Aruba development is stuk on 0.14 for a while longer as well. To avoid duplicate effort, still and master need to be made as similar as possible.

We may have to revert some breaking behavioral changes between still and master eventually, as well as some deprecations.

Relevant parts and their pull requests

This list will be updated with new pull requests when they become available.

luke-hill commented 5 years ago

If you need any help with this let me know.

I guess this is just a case of get all of the bug fixes that were only released into 0.14 into the 1.0 version then release 1.0? Or are we planning on releasing a 0.14.10 0.14.11 e.t.c.?

mvz commented 5 years ago

It's a little more complicated since 1.0 has some breaking changes and drops support for older Rubies, which is a particular problem for, e.g., rspec.

So, there may be some more point releases for 0.14.

luke-hill commented 5 years ago

Question...

Should we at some point do a set of staged updates to the dependencies on still ??

Things I thought about.

1) Cucumber dependency - Remove v1 (So 2.0 and above), then Remove v2 (So 3.0 and above) 2) Update Rubies - Remove all 1.x series (So 2.0 and above), then remove 2.1/2.2 (So 2.3 and above) 3) Update Rubocop - Probably could do a bump to the 0.50 range (As this will inevitably require a bunch of auto-fixes), and then another bump to 0.69 (We should also lock it down to a patch version, as the updates from one minor to another are usually quite big. 4) Remove rspec 2.x capabilities (This should be quite easy)

I'm happy to raise some PR's for these if you are happy to merge them into the next 0.14 release?

EDIT: Also when are we planning on releasing a 1.0 as a stable (We can always patch it later).

mvz commented 5 years ago

I have a feeling 1.0 is nearly ready. I'm probably not going to fully unify master and still to the point of being able to merge still into master.

That being the case, I'm not planning to drop compatibilities with Ruby etc. in the 0.14.x series. So, my current vague plan is to release a final 1.0.0 pre-release soonish and accompany that with some publicity to get people to try to upgrade via latest 0.14.x. Then, we can fix any bugs coming from that and release 1.0.0.

luke-hill commented 5 years ago

Where are we at with this?

I'm aware we aren't going to drop the 0.14 series any time soon, but can we release an official 1.0 cut. Just so we can at least gather some feedback from users. We can always release future patch releases if needs be.

Also do we know our major inhibitors for moving off 0.14. From our last conversation some people are stuck on a 0.8.x series right? Do we know who they are / what needs fixing for them? I know rspec are now on a later version of aruba.

mvz commented 4 years ago

I discovered one more bug for the 0.14.x series :disappointed:.

mvz commented 4 years ago

can we release an official 1.0 cut.

Yes, I think it's time. The bug in 0.14.x has to do with Bundler not picking up the right Gemfile when trying to run it with a clean environment. This is a bit of an edge case and has a workaround.

mvz commented 4 years ago

This is done as far as it will be done.