cucumber / cucumber-ruby

Cucumber for Ruby. It's amazing!
https://cucumber.io
MIT License
5.18k stars 1.12k forks source link

Make cucumber CCK compliant #1738

Closed luke-hill closed 1 year ago

luke-hill commented 1 year ago

Description

This PR aims to do 3 things

Type of change

Please delete options that are not relevant.

Changelog entry needs doing after everything has been merged.

This fixes a bunch of issues of interdependency hell. Everything "should" now be permissible with the latest versions of internals.

Checklist:

Your PR is ready for review once the following checklist is complete. You can also add some checks if you want to.

luke-hill commented 1 year ago

@botandrose - You're not needed here. But posting here so you have tracking capabilities.

My next few priorities (in order of timeline pref)

1) Fix this (I know who needs to help) 2) Release a v9.0.3 cucumber ruby. EDIT: < Unsure what version this will be now. As we're making a few changes. Might be a 9.1 3) Wait 1-2 weeks to see if nothing breaks 4) Go back to other items such as your core update, get those reviewed and merged 5) Do 1-2 weeks of other refactoring / work 6) Release cucumber core v13

This probably takes me close to end of 2023

botandrose commented 1 year ago

@luke-hill looks like you've got your work cut out for you! If you want to delegate some of that out to me, I enjoy refactoring and etc, and I'd be happy to throw some hours at it if it results in a sooner v13!

luke-hill commented 1 year ago

If you want to tackle refactoring e.t.c. feel free. But the timeline needs to be this way because the v12 cucumber core is a chunky amount of refactoring and then v13 will have a new breaking change for a boolean param.

The issue is the cucumber ruby repo is tracking an old cck version, and I've never been involved with the cck physically. So I need someone to coach me on how it works and how to fix the problem (We're currently 2 majors behind the cck spec and the cck is likely to be updated soon as well).

luke-hill commented 1 year ago

@botandrose heads up this is likely to take a LOT longer than initially anticipated.

Consequently I might do some more refactoring / rubocop fixes as this will be several weeks when I get time to dive into this.

As such, if you want to also tackle tech debt / refactoring go for it.

luke-hill commented 1 year ago

Note to self. CCKv13 is now primarily passing. CDATA issue is known about (Missing step def is now correctly flagged in error). FIXED

~EDIT: 2nd note to self - Check recursive nature of messages being compared. Potentially something slipping through that shouldn't.~ FIXED

~EDIT: 3rd note to self. CCK v13.0.1 should feature 2 bugfixes to ensure git branches aren't being detected. However this won't fix the issue with CDATA.~ FIXED

v13.0.2 of the CCK didn't get the cdata fix. So expect it in 13.0.3

luke-hill commented 1 year ago

Note for watchers

cdata fix didn't make it into 13.0.2 of the CCK, but some more inconsistencies (Not failing ones), did.

13.0.2+ of the CCK is needed to make this PR green. ETA on getting all remaining reconciliation fixes is not yet known

luke-hill commented 1 year ago

ping @botandrose - Made some decent headway in last 2-3 weeks. Now looking back at this PR as something that can be fixed up and completed soon