Skip to content
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

chore: Switch to using Node built-in test runner #2387

Merged
merged 7 commits into from
Jul 25, 2024

Conversation

jsumners-nr
Copy link
Contributor

This PR resolves #2379. It must target the next branch because Node.js 16 does not include the test runner.

package.json Outdated
@@ -161,22 +161,22 @@
"bench": "node ./bin/run-bench.js",
"docker-env": "./bin/docker-env-vars.sh",
"docs": "rm -rf ./out && jsdoc -c ./jsdoc-conf.jsonc --private -r .",
"integration": "npm run prepare-test && npm run sub-install && time c8 -o ./coverage/integration tap --test-regex='(\\/|^test\\/integration\\/.*\\.tap\\.js)$' --timeout=600 --no-coverage --reporter classic",
"integration:esm": "time c8 -o ./coverage/integration-esm tap --node-arg='--loader=./esm-loader.mjs' --test-regex='(test\\/integration\\/.*\\.tap\\.mjs)$' --timeout=600 --no-coverage --reporter classic",
"integration": "npm run prepare-test && npm run sub-install && time c8 -o ./coverage/integration node --test test/integration/**/*.tap.js",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like that we have to rely on shell expansion of the globs in all of these scripts. But we don't run CI on Windows, and in-process expansion of the globs isn't supported until Node 22. So it is what it is.

@jsumners-nr jsumners-nr marked this pull request as ready for review July 22, 2024 16:34
Copy link
Member

@bizob2828 bizob2828 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have notice the default reporter spec could pose problems in CI. It does not appear there is an equivalent to tap's classic reporter. If we change to dot reporter it will reduce I/O and seems to speed up the test runs as well. This may have to be a follow up because --test-reporter doesn't exist until 18

I did suggest some changes as I noticed the globs didn't account for tests in the direct child of a given test type. However, it also appears my proposed changes to include all tests by chaining globs segfaults in node 16, and does not work in 18 and 20.

I did compare the coverage is still the same, as expected because we're still relying on v8 coverage and c8 to report it.

package.json Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
@jsumners-nr
Copy link
Contributor Author

jsumners-nr commented Jul 23, 2024

I have notice the default reporter spec could pose problems in CI.

What problems might those be?

If we change to dot reporter it will reduce I/O and seems to speed up the test runs as well.

I don't particularly like the dot reporter because it is very cryptic. But putting the speed theory to the test:

# Unit test run without specifying a reporter:
ℹ tests 176
ℹ suites 0
ℹ pass 176
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 31175.115292

real    0m34.861s
user    1m25.072s
sys     0m31.439s
# With the dot reporter:
................................................................................................................................................................................

real    0m29.611s
user    1m25.536s
sys     0m32.046s

I've done the test multiple times and either reporter is roughly the same amount of time.

One key difference is in error reporting. This is what the dot reporter does if there is a test failure:

❯ npm run unit

> [email protected] unit
> rm -f newrelic_agent.log && time c8 -o ./coverage/unit node --test-reporter dot --test test/unit/*.test.js test/unit/**/*.test.js

.......................................X........................................................................................................................................

real    0m28.944s
user    1m25.835s
sys     0m31.681s

I think that is really useless. I don't enjoy having to search all of the output of the standard reporter, but at least we can see which test(s) failed.

@jsumners-nr
Copy link
Contributor Author

I think that is really useless. I don't enjoy having to search all of the output of the standard reporter, but at least we can see which test(s) failed.

🤔 we could report to stdout with the dot reporter but report to something like unit.txt via stderr with the spec reporter.

We could also write a simple reporter that outputs test failures when they occur, and nothing on success. In other words, mimic our versioned tests output. Example:

❯ npm run unit

> [email protected] unit
> rm -f newrelic_agent.log && time c8 -o ./coverage/unit node --test-reporter ./reporter.js --test test/unit/*.test.js test/unit/**/*.test.js

failed: /Users/jsumners/Projects/team-repos/node-newrelic/test/unit/attributes.test.js
real    0m26.942s
user    1m23.630s
sys     0m31.549s

I think we could write a much better reporter that shows offending line numbers and such, but the runner in v18 seems to omit a lot of that in my test case (just reporting line = 1; column = 1 for the induced failure when it should at least be line 35). But I think that report is enough to give us more to go on than the dot reporter and doesn't spam stdout with difficult to sift through text.

@jsumners-nr jsumners-nr requested a review from bizob2828 July 23, 2024 14:24
@jsumners-nr jsumners-nr added the dev:tests Indicates only changes to tests label Jul 24, 2024
Copy link
Member

@bizob2828 bizob2828 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the update to globs still isn't running all the tests. i found in node 22 if you wrap each glob in single quotes it works. but that fails in 18 and 20

test/lib/test-reporter.js Outdated Show resolved Hide resolved
@jsumners-nr jsumners-nr requested a review from bizob2828 July 25, 2024 14:53
Copy link
Member

@bizob2828 bizob2828 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

overall looks great. i do have some failing tests that i suspect are because of time outs though

test/unit/attributes.test.js Outdated Show resolved Hide resolved
package.json Outdated
"ssl": "./bin/ssl.sh",
"sub-install": "node test/bin/install_sub_deps",
"test": "npm run integration && npm run unit",
"third-party-updates": "oss third-party manifest --includeOptDeps && oss third-party notices --includeOptDeps && git add THIRD_PARTY_NOTICES.md third_party_manifest.json",
"unit": "rm -f newrelic_agent.log && time c8 -o ./coverage/unit tap --test-regex='(\\/|^test\\/unit\\/.*\\.test\\.js)$' --timeout=180 --no-coverage --reporter classic",
"unit:scripts": "time c8 -o ./coverage/scripts-unit tap --test-regex='(\\/|^bin\\/test\\/.*\\.test\\.js)$' --timeout=180 --no-coverage --reporter classic",
"unit": "rm -f newrelic_agent.log && time c8 -o ./coverage/unit borp --reporter ./test/lib/test-reporter.mjs 'test/unit/**/*.test.js'",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think a timeout has to be set. the facts.test.js fails

package.json Outdated
"prepare-test": "npm run ssl && npm run docker-env",
"lint": "eslint ./*.{js,mjs} lib test bin examples",
"lint:fix": "eslint --fix, ./*.{js,mjs} lib test bin examples",
"public-docs": "jsdoc -c ./jsdoc-conf.jsonc && cp examples/shim/*.png out/",
"publish-docs": "./bin/publish-docs.sh",
"services": "DOCKER_PLATFORM=linux/$(uname -m) docker compose up -d --wait",
"services:stop": "docker compose down",
"smoke": "npm run ssl && time tap test/smoke/**/**/*.tap.js --timeout=180 --no-coverage",
"smoke": "npm run ssl && time borp --reporter ./test/lib/test-reporter.mjs 'test/smoke/**/*.tap.js'",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think we need to restore the timeout. i have 1 test that fails

const OUTPUT_MODE = process.env.OUTPUT_MODE?.toLowerCase() ?? 'simple'
const isSilent = OUTPUT_MODE === 'quiet' || OUTPUT_MODE === 'silent'

async function* reporter(source) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very nice. we can always add to this.

@jsumners-nr jsumners-nr requested a review from bizob2828 July 25, 2024 18:58
@jsumners-nr jsumners-nr merged commit b9f64b7 into newrelic:next Jul 25, 2024
23 checks passed
@jsumners-nr jsumners-nr deleted the issue-2379 branch July 25, 2024 19:19
@github-actions github-actions bot mentioned this pull request Jul 31, 2024
pratik-k2 added a commit to k2io/node-newrelic-fork that referenced this pull request Oct 8, 2024
* Bump fast-xml-parser and @aws-sdk/client-lambda

Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [@aws-sdk/client-lambda](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-lambda). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 4.2.4 to 4.2.5
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](NaturalIntelligence/fast-xml-parser@v4.2.4...v4.2.5)

Updates `@aws-sdk/client-lambda` from 3.358.0 to 3.359.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-lambda/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.359.0/clients/client-lambda)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
- dependency-name: "@aws-sdk/client-lambda"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump protobufjs from 7.2.3 to 7.2.4

Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.2.3 to 7.2.4.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](protobufjs/protobuf.js@protobufjs-v7.2.3...protobufjs-v7.2.4)

---
updated-dependencies:
- dependency-name: protobufjs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: added node 20 and drop node 14 in CI

* chore: fixed deps with CVEs

* test: skip Next.js 13.4.13 until we can fix the instrumentation

* fix: updated instrumentation to skip registering middleware instrumentation as it runs in a worker thread now and our agent cannot properly track async context

* chore: removes skipping of tests on 13.4.13 and above

* chore: change node engine to 16

* Setting version to v0.6.0.

* Adds auto-generated release notes.

* chore: Edited CHANGELOG.md

Signed-off-by: mrickard <[email protected]>

* test: update versioned test helper to handle [email protected] changes

* chore: update path for ritm

* remove slack link as it is decommissioned

* chore: updated peer dep to the unreleased version of agent that this instrumentation will now require

* chore: updated agent to latest

* Setting version to v0.7.0.

* Adds auto-generated release notes.

* chore: changelog edits

* chore: updated @newrelic/test-utilities to latest

* chore(deps): bump @babel/traverse

Bumps  and [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse). These dependencies needed to be updated together.

Updates `@babel/traverse` from 7.17.3 to 7.23.2
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

Updates `@babel/traverse` from 7.20.0 to 7.23.2
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* test: skip running Next 14+ versioned tests on Node 16 as support was dropped

* fix: package.json & package-lock.json to reduce vulnerabilities

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-AXIOS-6032459

* chore(deps-dev): bump follow-redirects from 1.15.3 to 1.15.4

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](follow-redirects/follow-redirects@v1.15.3...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* test: updated test assertions based on segment tree changes in 14.1.0 of Next.js

* test: updated test assertions based on segment tree changes in 14.1.0 of Next.js

* refactor: Updated instrumentation to construct spec objects at instrumentation

* Setting version to v0.8.0.

* Adds auto-generated release notes.

* Update CHANGELOG.md

* feat: Added a shim to externalize all 3rd party libraries the Node.js agent instruments

* feat: Added a test suite for App Router.

* chore(deps-dev): bump follow-redirects from 1.15.5 to 1.15.6

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](follow-redirects/follow-redirects@v1.15.5...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: Updated CI process for releases (newrelic#183)

* chore: release v0.9.0 (newrelic#184)

Co-authored-by: jsumners-nr <[email protected]>
Co-authored-by: James Sumners <[email protected]>

* ci: removed changelog.json file (newrelic#185)

* ci: Removed `use_new_release` input from prepare release workflow  (newrelic#186)

* test: Added targets for compatibility reporting (newrelic#187)

* chore: Enabled quiet mode for CI runs (newrelic#188)

* docs: Updated targets to include minimum agent version for compatibility repo (newrelic#189)

* docs: Added FAQs to assist with common issues with next.js instrumentation (newrelic#190)

* chore: Made pre-commit hook require dependency changes (newrelic#191)

* docs: updated FAQs and README with app router examples (newrelic#192)

* fix: add missing quotation mark in faq docs (newrelic#202)

* chore(deps-dev): bump @grpc/grpc-js from 1.9.9 to 1.10.9 (newrelic#203)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump braces from 3.0.2 to 3.0.3 (newrelic#204)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* security(deps): bump ws (newrelic#206)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Added Node 22 to CI  (newrelic#193)

* chore: release v0.10.0 (newrelic#210)

* chore: Fixed copy paste error in post release workflow (newrelic#2329)

* fix: Pinned dependenices of node-gyp that dropped support for Node 16 in patch releases (newrelic#2333)

* fix: Refactored benchmark tests to complete async functions (newrelic#2334)

Signed-off-by: mrickard <[email protected]>

* chore: Revert "fix: Pinned dependenices of node-gyp that dropped support for Node 16 in patch releases (newrelic#2333)" (newrelic#2335)

* feat: Added support for account level governance of AI Monitoring (newrelic#2326)

* test: Fixed recordMiddlewawre benchmark test (newrelic#2338)

* chore: release v11.23.0 (newrelic#2340)

Co-authored-by: jsumners-nr <[email protected]>
Co-authored-by: James Sumners <[email protected]>

* docs: Updated compatibility report (newrelic#2342)

Co-authored-by: jsumners-nr <[email protected]>

* fix: Updated redis v4 instrumentation to work with transactions(multi/exec) (newrelic#2343)

* chore: release v11.23.1 (newrelic#2344)

* docs: Updated compatibility report (newrelic#2345)

Co-authored-by: bizob2828 <[email protected]>

* chore: Always upload status logs in compat report CI (newrelic#2341)

* ci: Updated `bin/create-docs-pr` to create an empty array if changelog.json is missing security (newrelic#2348)

* ci: increase the limit of installs from 2 to a bigger number (newrelic#2346)

* ci: Changed the default project idea for our org board (newrelic#2353)

* ci: Changed the default project idea for our org board (newrelic#2355)

* ci: Updated board workflow to use new graphql calls to add items to project board (newrelic#2357)

* ci: Fixed issue with obtaining node id for issues in add-to-board (newrelic#2360)

* ci: Fixed syntax issue with parsing jq (newrelic#2362)

* test: Updated benchmark test results to output result files  (newrelic#2350)

Signed-off-by: mrickard <[email protected]>
Co-authored-by: Bob Evans <[email protected]>

* docs: Removed out of date ROADMAP_Node.md from root of project (newrelic#2367)

* refactor: consolidated adding issue/pr to board and assigning the appropriate status into 1 step (newrelic#2368)

* refactor: fixed syntax error with add to board workflow (newrelic#2370)

* chore: fix board refactor (newrelic#2371)

* ci: Added benchmark test GitHub Action (newrelic#2366)

Signed-off-by: mrickard <[email protected]>

* feat: Added support for fs.glob in Node 22+ (newrelic#2369)

* test: Removed server.start in grpc tests as it is deprecated and no longer needed (newrelic#2372)

* fix: Updated cassandra-driver instrumentation to properly trace promise based executions (newrelic#2351)

* ci: Include date created when adding new issue/pr to board (newrelic#2374)

* ci: Pin Node 22 to 22.4.1 (newrelic#2375)

* fix: Updated aws-sdk v3 instrumentation to custom middleware last to properly get the external http span to add aws.* attributes (newrelic#2382)

* chore: Reverted "ci: Pin Node 22 to 22.4.1" (newrelic#2383)

* refactor: remove examples/api/ (newrelic#2381)

* chore: release v11.23.2 (newrelic#2391)

* docs: Updated compatibility report (newrelic#2392)

* chore: Updated dashboard links in developer-setup.md (newrelic#2397)

* refactor: Removed `Supportability/Features/ESM/UnsupportedLoader` as it is no longer applicable in Node.js 18+ (newrelic#2393)

* feat!: Dropped support for Node.js 16 (newrelic#2394)

* feat!: Updated `mongodb` instrumentation to drop support for versions 2 and 3 (newrelic#2398)

* test: Updated minimum version of lesser used versions of 3rd party li… (newrelic#2399)

* chore: Verified MySQL host:port metric is recorded (newrelic#2400)

* feat!: Removed instrumentation for `director` (newrelic#2402)

* chore: Add test configs for defined targets in the aws test suite (newrelic#2403)

* feat!: Removed legacy context manager (newrelic#2404)

* docs: Updated compatibility report (newrelic#2401)

Co-authored-by: jsumners-nr <[email protected]>

* feat!: Removed support for `redis` < 2.6.0 (newrelic#2405)

* chore: Switch to using Node built-in test runner (newrelic#2387)

* feat: Added `server.address` to amqplib spans (newrelic#2406)

* refactor: Moved relevant nextjs instrumentation and rely on agent commons

* chore: Added producer and consumer metrics to kafkajs instrumentation (newrelic#2407)

* chore: Updated `@newrelic/native-metrics` to 11.0.0

* test: Removed mongodb-esm tests as they are not atomic and conflicting with mongodb tests in CI

* chore: release v12.0.0 (newrelic#2418)

* docs: Updated compatibility report (newrelic#2415)

* docs: Updated examples to properly use specs (newrelic#2422)

* fix: Pick log message from merging object in Pino instrumentation (newrelic#2421)

* test: Updated custom test reporter to only log failed tests when there are failures (newrelic#2425)

* fix: typo in doc header (newrelic#2433)

* chore: Converted agent unit tests to node:test (newrelic#2414)

* test: Restored mongodb-esm tests (newrelic#2434)

* docs: Updated compatibility report (newrelic#2435)

Co-authored-by: bizob2828 <[email protected]>

* chore: Added entity relationship attributes to SQS segments (newrelic#2436)

* test: Moved pkgVersion to collection-common to avoid a conflict with ESM tests (newrelic#2438)

* chore: Limited superagent tests to avoid new breaking release (newrelic#2439)

* chore: Fixed mongodb-esm tests in combination with security agent (newrelic#2444)

* docs: Updated compatibility report (newrelic#2440)

Co-authored-by: jsumners-nr <[email protected]>

* chore: Remove promise resolvers from callback based agent unit tests (newrelic#2450)

* chore: Added TLS verification for Redis (newrelic#2446)

* test: Updated tls redis tests to work with older versions of redis v4 (newrelic#2454)

* chore: release v12.1.0 (newrelic#2455)

Co-authored-by: svetlanabrennan <[email protected]>
Co-authored-by: Svetlana Brennan <[email protected]>
Co-authored-by: Maurice Rickard <[email protected]>

* docs: Updated compatibility report (newrelic#2452)

Co-authored-by: svetlanabrennan <[email protected]>

* fix: Updated the `kafkajs` node metrics to remove `/Named` from the name (newrelic#2458)

* chore: Removed limit on superagent versioned testing (newrelic#2456)

* docs: Updated compatibility report (newrelic#2460)

Co-authored-by: bizob2828 <[email protected]>

* refactor: Updated pino instrumentation to separate the wrapping of asJson into its own function (newrelic#2464)

* fix: Updated redis instrumentation to parse host/port when a url is not provided (newrelic#2463)

* fix: Updated amqplib instrumentation to properly parse host/port from connect (newrelic#2461)

* chore: release v12.1.1 (newrelic#2472)

Co-authored-by: svetlanabrennan <[email protected]>
Co-authored-by: Svetlana Brennan <[email protected]>
Co-authored-by: Bob Evans <[email protected]>

* docs: Updated compatibility report (newrelic#2474)

Co-authored-by: svetlanabrennan <[email protected]>

* test: Skip `@koa/[email protected]` because of failures (newrelic#2478)

* docs: Updated compatibility report (newrelic#2480)

Co-authored-by: jsumners-nr <[email protected]>

* feat: Added instrumentation support for Express 5 beta (newrelic#2476)

This will be experimental until [email protected] is generally available

* docs: Remove reference to @newrelic/next in README (newrelic#2479)

* docs: Updated compatibility report (newrelic#2483)

Co-authored-by: bizob2828 <[email protected]>

* chore: Reverted to upstream require-in-the-middle (newrelic#2473)

* chore: Updated aggregators unit tests to node:test (newrelic#2481)

* fix: Updated koa instrumentation to properly get the matched route name and to handle changes in `@koa/[email protected]` (newrelic#2486)

* docs: Updated compatibility report (newrelic#2487)

Co-authored-by: bizob2828 <[email protected]>

* chore: release v12.2.0 (newrelic#2492)

Co-authored-by: svetlanabrennan <[email protected]>
Co-authored-by: Svetlana Brennan <[email protected]>

* ci: Updated codecov action sha to post coverage from forks.  Added flag to fail ci if it fails to upload report (newrelic#2490)

* chore: Updated test-utils dependency and added matrix-count only (newrelic#2494)

* chore: Remove examples/shim (newrelic#2484)

* chore: Fixed linting scripts (newrelic#2497)

* fix: Improved AWS Lambda event detection (newrelic#2498)

* docs: Updated compatibility report (newrelic#2493)

Co-authored-by: svetlanabrennan <[email protected]>

* feat: Added new API method `withLlmCustomAttributes` to run a function in a LLM context (newrelic#2437)

The context will be used to assign custom attributes to every LLM event produced within the function

* chore: Converted context-manager unit tests to node:test (newrelic#2508)

Co-authored-by: Bob Evans <[email protected]>

* test: Converted the api unit tests to `node:test` (newrelic#2516)

* chore: release v12.3.0 (newrelic#2522)

* docs: cleaned up formatting of api.js to properly inject example snippets when rendering on API docs site (newrelic#2524)

* docs: Updated compatibility report (newrelic#2523)

Co-authored-by: bizob2828 <[email protected]>

* test: Convert db unit tests to node:test (newrelic#2514)

* chore: Convert `config` to `node:test` (newrelic#2517)

* test: Replace distributed tracing tests with `node:test` (newrelic#2527)

* test: Convert grpc, lib, and utilization tests to `node:test` (newrelic#2532)

* docs: Updated Next.js Otel cloud provider FAQ (newrelic#2537)

* docs: Updated formatting of cloud-providers.md (newrelic#2538)

* chore: Added a match function for tests (newrelic#2541)

* fix: Fixed detection of REST API type payloads in AWS Lambda (newrelic#2543)

* chore: release v12.3.1 (newrelic#2544)

* docs: Updated compatibility report (newrelic#2545)

* test: Migrated tests in `test/unit/instrumentation` to use `node:test` (newrelic#2531)

* chore: Converted collector unit tests to node:test (newrelic#2510)

* test: Converted `llm-events` tests to use `node:test` (newrelic#2535)

* chore: Added CI for publishing agent as Azure site extension (newrelic#2488)

Signed-off-by: mrickard <[email protected]>
Co-authored-by: Svetlana Brennan <[email protected]>
Co-authored-by: James Sumners <[email protected]>

* chore: Converted errors unit tests to node:test (newrelic#2540)

Co-authored-by: Bob Evans <[email protected]>

* feat: Added Azure site extension installation scripts (newrelic#2448)

Co-authored-by: James Sumners <[email protected]>

* test: Migrated `test/unit/util` to use `node:test` (newrelic#2546)

* chore: Disable express@5 in versioned tests (newrelic#2553)

* docs: Updated compatibility report (newrelic#2554)

Co-authored-by: jsumners-nr <[email protected]>

* feat: Added support for `express@5` (newrelic#2555)

* test: Migrated `test/unit/spans` to use `node:test` (newrelic#2556)

* feat: Provided ability to disable instrumentation for a 3rd party package (newrelic#2551)

* fix: Nuget pack generates packagName.semver and not packageName-semver (newrelic#2557)

Signed-off-by: mrickard <[email protected]>

* chore: Document emitted events (newrelic#2561)

* chore: release v12.4.0 (newrelic#2560)

Co-authored-by: jsumners-nr <[email protected]>
Co-authored-by: James Sumners <[email protected]>
Co-authored-by: Bob Evans <[email protected]>

* docs: Updated compatibility report (newrelic#2562)

Co-authored-by: jsumners-nr <[email protected]>

* test: Convert `metric` and `metrics-recorder` tests to `node:test` (newrelic#2552)

* fix: Ensured README displays for Azure site extension (newrelic#2564)

Signed-off-by: mrickard <[email protected]>

* chore: Updated serverless unit tests to node:test (newrelic#2549)

* feat: Added utilization info for ECS (newrelic#2565)

* chore: release v12.5.0 (newrelic#2567)

Co-authored-by: jsumners-nr <[email protected]>
Co-authored-by: James Sumners <[email protected]>

* docs: Updated compatibility report (newrelic#2568)

Co-authored-by: jsumners-nr <[email protected]>

* chore: Reduce koa-router version to enable CI (newrelic#2573)

* docs: Updated compatibility report (newrelic#2574)

Co-authored-by: jsumners-nr <[email protected]>

* chore: Migrate block of unit tests to `node:test` (newrelic#2570)

* chore: Migrate second block of unit tests to `node:test` (newrelic#2572)

* ci: Added workflow run trigger to Azure site extension publish job (newrelic#2575)

Signed-off-by: mrickard <[email protected]>

* test: Removed transitive deps from versioned tests as they will auto-install if required as peer deps (newrelic#2580)

* test: Updated koa-router to tests to handle bug fixes from 13.0.1 (newrelic#2578)

* test: Updated a missing `minSupported` in aws-sdk-v3 versioned tests (newrelic#2582)

* docs: Updated compatibility report (newrelic#2581)

* chore: Removed noisy test log (newrelic#2583)

* test: Updated fastify versioned tests to work with `[email protected]` (newrelic#2584)

* test: Fixed @koa/router tests. path-to-regex differs between @koa/router and koa-router now (newrelic#2587)

* test: Updated how we handle the koa-router nuance of wildcard routes (newrelic#2588)

* docs: Updated compatibility report (newrelic#2589)

* test: Convert transaction* and urltils tests to `node:test` (newrelic#2585)

* chore(deps): Udpated @newrelic/security-agent to v2.0.0 (newrelic#2594)

* fix: Fixed handling of Pino merging object (newrelic#2600)

* chore: release v12.5.1 (newrelic#2602)

* chore: Migrate block of unit tests to node:test (newrelic#2593)

* docs: Updated compatibility report (newrelic#2601)

Co-authored-by: jsumners-nr <[email protected]>

* test: Migrated `test/unit/shim` to `node:test` (newrelic#2599)

* test: Migrated `test/versioned/express` to `node:test` (newrelic#2609)

* chore: Migrate block of unit tests to `node:test` (newrelic#2607)

* chore: Migrate block of unit tests to node:test (newrelic#2604)

* test: Updated tests that relied on `tspl` by awating the `plan.completed` instead of calling `end` to avoid flaky tests (newrelic#2610)

* test: Migrated `test/versioned/amqplib` to `node:test` (newrelic#2612)

* test: Updated the mininum version of pg-native in pg-esm tests to align with the pg tests (newrelic#2616)

* chore: Upgraded `import-in-the-middle` to work around a bug introduced in 1.11.1 (newrelic#2618)

* docs: Updated compatibility report (newrelic#2614)

* test: Migrated `aws-sdk-v2` and `aws-sdk-v3` tests to `node:test` (newrelic#2620)

* test: Migrated last group of unit tests to `node:test` (newrelic#2624)

* test: Migrated unit tests to `node:test` (newrelic#2623)

* docs: Remove SECURITY.md (newrelic#2633)

* docs: Updated match custom-assertion jsdoc (newrelic#2636)

* test: Migrated bluebird versioned tests to `node:test` (newrelic#2635)

* docs: Updated compatibility report (newrelic#2637)

* chore: Migrate `fastify` tests to `node:test` (newrelic#2632)

Co-authored-by: Bob Evans <[email protected]>

* docs: Updated compatibility report (newrelic#2638)

* chore: Migrate `bunyan`, `pino`, and `winston` tests to `node:test` (newrelic#2634)

Co-authored-by: Bob Evans <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: mrickard <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bob Evans <[email protected]>
Co-authored-by: Bob Evans <[email protected]>
Co-authored-by: Mikko Kotamies <[email protected]>
Co-authored-by: mrickard <[email protected]>
Co-authored-by: mrickard <[email protected]>
Co-authored-by: Jessica Lopatta <[email protected]>
Co-authored-by: Naresh Nishad <[email protected]>
Co-authored-by: bizob2828 <[email protected]>
Co-authored-by: snyk-bot <[email protected]>
Co-authored-by: svetlanabrennan <[email protected]>
Co-authored-by: Svetlana Brennan <[email protected]>
Co-authored-by: James Sumners <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: jsumners-nr <[email protected]>
Co-authored-by: Alisson Leal <[email protected]>
Co-authored-by: Node Agent Bot <[email protected]>
Co-authored-by: jsumners-nr <[email protected]>
Co-authored-by: bizob2828 <[email protected]>
Co-authored-by: Amy Chisholm <[email protected]>
Co-authored-by: kmudduluru <[email protected]>
Co-authored-by: Brian Hensley <[email protected]>
Co-authored-by: Jamie Penney <[email protected]>
Co-authored-by: Webrealizer <[email protected]>
Co-authored-by: Sumit Suthar <[email protected]>
Co-authored-by: Vaughn Woerpel <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev:tests Indicates only changes to tests
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants