-
Notifications
You must be signed in to change notification settings - Fork 225
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: support node 16; also test with node 15, drop testing of node 13 #2055
Conversation
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
Trends 🧪 |
^^^ node v10.0.0 test failed in
And some other similar errors. The only thing in my change that could possibly have effected this is the .npmrc change, and I can't imagine it did. I'll re-run the tests. |
The apm-ci.elastic.co Jenkins tests have failed because a "node:16" docker image has not yet been published: https://hub.docker.com/_/node nodejs/docker-node#1465 is the PR for this, I believe. FWIW the tests for node 15 and other versions passed in the Jenkins tests: https://apm-ci.elastic.co/blue/organizations/jenkins/apm-agent-nodejs%2Fapm-agent-nodejs-mbp/detail/PR-2055/1/pipeline |
The GitHub Actions 10.0 node tests passed on a re-run, so we have some possibly flaky tests there. |
jenkins run the module tests |
FWIW, a full tav test ran for me on macos with node 16.0.0:
|
jenkins run the module tests |
Now waiting for this PR (docker-library/official-images#10030) to get merged and docker.io/library/node:16 to be published. |
There are a couple test failures I don't grok yet. |
One test failure is in our Jenkins tests with node 16:
I can reproduce with tests running in Docker, but not on my Mac via It turns out that OpenSSL's
|
I can repro the "ee key too small" outside of docker with a custom openssl config passed to node:
|
My understanding is that I should be able to override that default configured SECLEVEL via the ciphers argument like this: diff --git a/test/instrumentation/modules/http2.js b/test/instrumentation/modules/http2.js
index 46234e1..6e5c9c6 100644
--- a/test/instrumentation/modules/http2.js
+++ b/test/instrumentation/modules/http2.js
@@ -43,7 +46,7 @@ isSecure.forEach(secure => {
var port
var server = secure
- ? http2.createSecureServer(pem, onRequest)
+ ? http2.createSecureServer({ ciphers: 'ALL@SECLEVEL=0', ...pem }, onRequest)
: http2.createServer(onRequest)
var onError = err => t.error(err) However, that may be failing because of nodejs/node#36655 |
…ss in node:16 docker image
The other issue is there is some hang in the node v16 runs on GH Actions. The log includes no "not ok" test failures. |
Jenkins tests for node 16 are now failing at the same thing. I was able to repro the hang locally on macOS. It requires,
small separate reproSave this as "notsohapi.js":
Ensure you have Run that script with node 16 and attempt to: Fixes
|
…move on to hapi v20
…penssl support issues; should be fine as the only current need we had for it was for node:16; node v8 is EOL anyway
…checking and add to the set-framework-*.js test files
@@ -115,17 +115,16 @@ | |||
"@babel/core": "^7.8.4", | |||
"@babel/preset-env": "^7.8.4", | |||
"@elastic/elasticsearch": "^7.10.0", | |||
"body-parser": "^1.19.0", | |||
"@hapi/hapi": "^18.4.1", | |||
"@hapi/hapi": "^20.1.2", |
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 "POST" handler test in test/instrumentation/modules/hapi.js hangs with @hapi/[email protected]
and node 16. Let's just move to testing with the latest hapi (which does mean only testing with node v12 and later). The TAV tests cover the rest.
jenkins run the module tests |
All tests (regular, TAV, edge) passing: https://apm-ci.elastic.co/blue/organizations/jenkins/apm-agent-nodejs%2Fapm-agent-nodejs-mbp/detail/PR-2055/19/pipeline/ |
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
Trends 🧪 |
This borrows work from @kevcodez and myself on #1841.
Fixes: #2053
Checklist