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
[ci] test-all-versions failing for @cucumber/cucumber@9.1.2
and @aws-sdk/client-s3@3.377.0
#1828
Comments
Same. Works locally. |
Looks like this affects more than just the cucumber instrumentation, having a similar problem over at an instrumentation-aws-sdk PR. I'll re-label the issue accordingly. Sorry for the noise |
main
for @cucumber/cucumber@9.1.2
@cucumber/cucumber@9.1.2
and @aws-sdk/client-s3@3.377.0
@cucumber/cucumber@9.1.2
and @aws-sdk/client-s3@3.377.0
@cucumber/cucumber@9.1.2
and @aws-sdk/client-s3@3.377.0
I can reproduce the |
Repro for the cucumber TAV (test-all-versions) failure.tl;dr:
With details:
Note, in case it matters: I'm doing my tests with node v16.20.2 (npm v8.19.4) -- for the unrelated reason that
Yup, it works this way.
In this case, the layout is slightly different. The main difference is that a slightly quicker reproThe failure reproduces with just that single cucumber version tested, so this change means the repro is faster, in case someone else is trying to debug this as well. diff --git a/plugins/node/instrumentation-cucumber/.tav.yml b/plugins/node/instrumentation-cucumber/.tav.yml
index c1930c8c..bf4f19f3 100644
--- a/plugins/node/instrumentation-cucumber/.tav.yml
+++ b/plugins/node/instrumentation-cucumber/.tav.yml
@@ -1,3 +1,4 @@
'@cucumber/cucumber':
- versions: '^8.0.0 || ^9.0.0'
+ # versions: '^8.0.0 || ^9.0.0'
+ versions: '9.1.2' # XXX failure reproduces with just this version tested
commands: npm test |
I was getting ready to blame this on Only these 3 packages have a "dependencies" entry for
So, I think ultimately I'd argue that Note that our CI sets
which was added back in #614 when using hoisting with lerna to speed up npm installs. This could be related, but I don't think so: because IIRC we get this failure in CI with node v14 (which has npm@6 which ignores peerDependencies) as well. Also, locally I've been testing with legacy-peer-deps unset (it defaults to false). (Aside: I wonder if that means that legacy-peer-deps might not be unnecessary for our node v16 installs.) |
GAH! It is totally because of I ran with this diff: diff --git a/plugins/node/instrumentation-cucumber/package.json b/plugins/node/instrumentation-cucumber/package.json
index c44c00f9..22312787 100644
--- a/plugins/node/instrumentation-cucumber/package.json
+++ b/plugins/node/instrumentation-cucumber/package.json
@@ -7,7 +7,7 @@
"repository": "open-telemetry/opentelemetry-js-contrib",
"scripts": {
"test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'",
- "test-all-versions": "tav",
+ "test-all-versions": "npm config ls && tav #XXX",
"tdd": "npm run test -- --watch-extensions ts --watch",
"clean": "rimraf build/*",
"lint": "eslint . --ext .ts", A full failing repro run: https://gist.github.com/trentm/efb0a8586351878a74f24256ced15af4 Note this in the failing run:
The passing run does not have legacy-peer-deps set, and signs are pointing to that being the relevant diff.
Gah. I haven't traced this yet, but I suspect |
This passes:
TODO:
|
Some nx history:
The PR and issue do not provide much detail. I am inclined to avoid
|
|
- Switch to 'npm run --ws test-all-versions ...' for running TAV tests, instead of 'lerna run test-all-versions ...' because nx sets 'npm_config_legacy_peer_deps=true' which breaks '@cucumber/cucumber@9.1.2' install and could break other installs by ignoring 'peerDependencies'. - Skip the bad '@aws-sdk/client-s3@3.377.0' release in TAV tests. Also: - Reduce the number of versions of 'aws-sdk' and '@aws-sdk/*' packages test in TAV tests from 249, 143, and 132 versions currently, to 7 each. - Add a top-level `npm run test-all-versions` script to run that script in all packages that have one. This is the equivalent of the "test-all-versions.yml" CI workflow. Fixes: open-telemetry#1828
) * test: fix TAV tests for @cucumber/cucumber and @aws-sdk/client-s3 - Switch to 'npm run --ws test-all-versions ...' for running TAV tests, instead of 'lerna run test-all-versions ...' because nx sets 'npm_config_legacy_peer_deps=true' which breaks '@cucumber/cucumber@9.1.2' install and could break other installs by ignoring 'peerDependencies'. - Skip the bad '@aws-sdk/client-s3@3.377.0' release in TAV tests. Also: - Reduce the number of versions of 'aws-sdk' and '@aws-sdk/*' packages test in TAV tests from 249, 143, and 132 versions currently, to 7 each. - Add a top-level `npm run test-all-versions` script to run that script in all packages that have one. This is the equivalent of the "test-all-versions.yml" CI workflow. Fixes: #1828
What happened?
The TAV script currently fails in CI only (tested locally but could not reproduce) for
@opentelemetry/instrumentation-cucumber
with@cucumber/cucumber@9.1.2
.It looks like it cannot resolve the package
@cucumber/messages
for some reason - when I runnpm run test-all-versions
locally, everything works fine.Logs:
cc @Ugzuzg (component-owner)
The text was updated successfully, but these errors were encountered: