-
Notifications
You must be signed in to change notification settings - Fork 546
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
feat(cucumber): support @cucumber/cucumber@10 #1830
Conversation
c9c44dd
to
9c77114
Compare
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.
The TAV test failed for all tested node versions (14, 16, 18) on the same thing:
...
@opentelemetry/instrumentation-cucumber: -- installing ["@cucumber/cucumber@9.1.2"]
@opentelemetry/instrumentation-cucumber: -- running test "npm test" with @cucumber/cucumber (env: {})
@opentelemetry/instrumentation-cucumber: > @opentelemetry/instrumentation-cucumber@0.1.2 test
@opentelemetry/instrumentation-cucumber: > nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'
@opentelemetry/instrumentation-cucumber: Error: Cannot find module '@cucumber/messages'
@opentelemetry/instrumentation-cucumber: Require stack:
@opentelemetry/instrumentation-cucumber: - /home/runner/work/opentelemetry-js-contrib/opentelemetry-js-contrib/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.js
...
I wonder if cucumber v9.1.2 was a bad release? If so -- I haven't looked into it -- then we could skip that release in the .tav.yml
file.
@@ -1,3 +1,3 @@ | |||
'@cucumber/cucumber': | |||
versions: '^8.0.0 || ^9.0.0' | |||
versions: '^8.0.0 || ^9.0.0 || ^10.0.0' |
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.
Although the part of the TAV (test-all-versions) tests that tested cucumber v10 did pass, technically v10 dropped support for Node.js v14 and v16 -- https://github.com/cucumber/cucumber-js/releases/tag/v10.0.0 -- so I wonder if we may want a .tav.yml file like this:
'@cucumber/cucumber':
- versions: '^8.0.0 || ^9.0.0'
node: ">=14 <20"
commands: npm test
- versions: '^10.0.0'
node: ">=18"
commands: npm test
@@ -43,7 +43,7 @@ | |||
"@opentelemetry/api": "^1.0.0" | |||
}, | |||
"devDependencies": { | |||
"@cucumber/cucumber": "^9.0.0", | |||
"@cucumber/cucumber": "^10.0.0", |
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.
Given cucumber v10 dropped Node.js v14 and v16 support that this package still supports, I think we want to keep the version here on cucumber v9. Currently @cucumber/cucumber@10.0.1
seems to work with tests with Node.js v14 and v16, but that could break later.
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #1830 +/- ##
=======================================
Coverage 91.49% 91.49%
=======================================
Files 144 144
Lines 7388 7388
Branches 1474 1474
=======================================
Hits 6760 6760
Misses 628 628
|
3c20801
to
3a8e7cf
Compare
@Ugzuzg I don't know that is it a policy for this repo or anything, but IMHO it would be helpful if you did not force push updates to a PR branch after having gotten some reviews. It means that I cannot go see exactly what the state was for earlier review comments. For example, I'm looking at the package-lock.json changes now and I'm curious why the |
package-lock.json
Outdated
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.
Could you remove the package-lock.json change from the PR? While the changes in here are fine, I'm guessing the move of @cucumber/cucumber
and some of its deps from "./node_modules" to "./plugins/node/instrumentation-cucumber/node_modules/..." is a side-effect of having updated to v10 and then backed up to v9. package-lock.json
handling, especially with npm workspaces, is a bit of voodoo.
I think this change is good to merge either way (without or with the package-lock.json change).
Not a specific policy for this repo, but I agree changing history makes reviews a lot harder. We can't enforce a policy because changes are happening on forks. |
TAV tests are failing on main with the same failure that is happening here:
So now I wonder if that odd package-lock.json addition in commit 3a8e7cf is helpful. The |
I'll move discussion on this to #1828 @Ugzuzg Do you happen to know how you got the package-lock.json change that you did? Was it intentional, or was it a side-effect of the |
Yes, it was just an npm install. |
TAV tests will fail until #1838 is merged, but I think this is good to go in now. |
Which problem is this PR solving?
@cucumber/cucumber
is out.Short description of the changes