Skip to content

Commit

Permalink
Sync fork (#2)
Browse files Browse the repository at this point in the history
* 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]>
  • Loading branch information
1 parent 424a6cb commit b34d4f6
Show file tree
Hide file tree
Showing 685 changed files with 46,445 additions and 50,081 deletions.
6 changes: 5 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,11 @@ module.exports = {
parserOptions: {
ecmaVersion: 2022
},
ignorePatterns: ['test/versioned-external'],
ignorePatterns: [
'test/versioned-external',
'test/versioned/nextjs/app',
'test/versioned/nextjs/app-dir'
],
overrides: [
{
files: ['**/*.mjs'],
Expand Down
78 changes: 78 additions & 0 deletions .github/workflows/azure-site-extension.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Azure Site Extension

on:
workflow_dispatch:
workflow_run:
workflows: ["Create Release"]
types:
- completed

env:
SPEC_FILE_TEMPLATE: 'NewRelic.Azure.WebSites.Extension.NodeAgent.nuspec'

jobs:
create_extension_bundle:
runs-on: windows-latest
if:
(github.event.workflow_run && github.event.workflow_run.conclusion == 'success') ||
(github.event_name == 'workflow_dispatch')

strategy:
matrix:
node-version: ['lts/*']
arch: [ x64 ]

steps:
- uses: actions/checkout@v4

- name: Setup dotnet '6.0.x'
uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.0.x'

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
architecture: ${{ matrix.arch }}

- name: Find agent version
run: |
$env:npm_agent_version = npm view newrelic version
echo "AGENT_VERSION=$env:npm_agent_version" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: Set package filename
run: |
echo "PACKAGE_FILENAME=NewRelic.Azure.WebSites.Extension.NodeAgent.${{env.AGENT_VERSION}}" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: Verify environment vars # because we can't access GH env vars until the next step
run: |
echo "Agent version: ${{ env.AGENT_VERSION }}"
echo "Package filename: ${{ env.PACKAGE_FILENAME }}"
- name: Install agent
working-directory: cloud-tooling/azure-site-extension/Content
run: |
npm i --prefix . newrelic@${{ env.AGENT_VERSION }}
echo "Agent installed"
- name: Configure package files
working-directory: cloud-tooling/azure-site-extension
run: |
(Get-Content ${{ env.SPEC_FILE_TEMPLATE }}).Replace('{VERSION}', "${{ env.AGENT_VERSION }}") | Set-Content ${{ env.PACKAGE_FILENAME }}.nuspec
- name: Create bundle
working-directory: cloud-tooling/azure-site-extension
run: nuget pack "${{ env.PACKAGE_FILENAME }}.nuspec"

# This step is for us to check what's going to be published
- name: Archive package for verification
uses: actions/upload-artifact@v4
with:
name: azure-site-extension-test-${{ env.PACKAGE_FILENAME }}
path: cloud-tooling/azure-site-extension/${{ env.PACKAGE_FILENAME }}.nupkg

- name: Publish site extension
working-directory: cloud-tooling/azure-site-extension
run: |
dotnet nuget push "${{ env.PACKAGE_FILENAME }}.nupkg" --api-key ${{ secrets.NUGET_API_KEY }} --source ${{ secrets.NUGET_SOURCE }}
38 changes: 38 additions & 0 deletions .github/workflows/benchmark-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Benchmark Tests

on:
workflow_dispatch:
schedule:
- cron: '0 10 * * 1'

env:
# Enable versioned runner quiet mode to make CI output easier to read:
OUTPUT_MODE: quiet

jobs:
benchmarks:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
node-version: [18.x, 20.x, 22.x]

steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install Dependencies
run: npm install
- name: Run Benchmark Tests
run: node ./bin/run-bench.js --filename=${{ github.base_ref || 'main' }}_${{ matrix.node-version }}
- name: Verify Benchmark Output
run: ls benchmark_results
- name: Archive Benchmark Test
uses: actions/upload-artifact@v4
with:
name: benchmark-tests-${{ github.base_ref || 'main' }}-${{ matrix.node-version }}
path: ./benchmark_results

100 changes: 84 additions & 16 deletions .github/workflows/board.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ on:
inputs:
project_id:
description: Id of Project in GitHub
default: 5864688 # Node.js Engineering Board https://github.com/orgs/newrelic/projects/41
default: 105 # Node.js Engineering Board https://github.com/orgs/newrelic/projects/105
required: false
type: number
type: number
todo_column:
description: Name of the To-Do column in project
default: 'Triage Needed: Unprioritized Features'
Expand All @@ -42,29 +42,97 @@ on:

jobs:
assign_to_project:
if: github.event_name == 'pull_request_target' || github.event_name == 'issues'
env:
# Cannot use `secrets.GITHUB_TOKEN` because the project board
# exists at org level. You cannot add permissions outside the scope
# of the given repo
GITHUB_TOKEN: ${{ secrets.gh_token }}
PROJECT_ID: ${{ inputs.project_id }}
HEADER: "Accept: application/vnd.github.inertia-preview+json"
TODO_COL_NAME: ${{ inputs.todo_column}}
PR_COL_NAME: ${{ inputs.pr_column }}
runs-on: ubuntu-latest
name: Assign Issues and/or PRs to Project
steps:
- name: Assign PR to Project
if: github.event_name == 'pull_request_target'
- name: Get project information
run: |
PR_ID=${{ github.event.pull_request.id }}
COLUMN=$(gh api -H "$HEADER" projects/$PROJECT_ID/columns --jq ".[] | select(.name == \"$COLUMN_NAME\").id")
gh api -H "$HEADER" -X POST projects/columns/$COLUMN/cards -f content_type='PullRequest' -F content_id=$PR_ID
env:
COLUMN_NAME: ${{ inputs.pr_column}}
- name: Assign Issue to Project
if: github.event_name == 'issues'
gh api graphql -f query='
query($org: String!, $number: Int!) {
organization(login: $org){
projectV2(number: $number) {
id
fields(first:20) {
nodes {
... on ProjectV2Field {
id
name
}
... on ProjectV2SingleSelectField {
id
name
options {
id
name
}
}
}
}
}
}
}' -f org=newrelic -F number=$PROJECT_ID > project_data.json
# Save the values of project id, status field id and the todo and needs pr column ids
echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV
echo 'DATE_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Date created") | .id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV
echo 'TODO_OPTION_ID='$(jq -r --arg TODO_COL_NAME "$TODO_COL_NAME" '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .options[] | select(.name==$TODO_COL_NAME) |.id' project_data.json) >> $GITHUB_ENV
echo 'PR_OPTION_ID='$(jq -r --arg PR_COL_NAME "$PR_COL_NAME" '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .options[] | select(.name==$PR_COL_NAME) |.id' project_data.json) >> $GITHUB_ENV
echo 'DATE='$(date +"%Y-%m-%d") >> $GITHUB_ENV
- name: Assign Issue/PR to Project
run: |
ISSUE_ID=${{ github.event.issue.id }}
COLUMN=$(gh api -H "$HEADER" projects/$PROJECT_ID/columns --jq ".[] | select(.name == \"$COLUMN_NAME\").id")
gh api -H "$HEADER" -X POST projects/columns/$COLUMN/cards -f content_type='Issue' -F content_id=$ISSUE_ID
# Add Issue/PR to board depending on event type
item_id="$( gh api graphql -f query='
mutation($project:ID!, $id:ID!) {
addProjectV2ItemById(input: {projectId: $project, contentId: $id}) {
item {
id
}
}
}' -f project=$PROJECT_ID -f id=$ISSUE_OR_PR_ID --jq '.data.addProjectV2ItemById.item.id')"
# Update the status to Triage Needed/Needs PR Review depending on event type
# and update the date so it shows on top of column
gh api graphql -f query='
mutation (
$project: ID!
$item: ID!
$status_field: ID!
$status_value: String!
$date_field: ID!
$date_value: Date!
) {
set_status: updateProjectV2ItemFieldValue(input: {
projectId: $project
itemId: $item
fieldId: $status_field
value: {
singleSelectOptionId: $status_value
}
}) {
projectV2Item {
id
}
}
set_date_posted: updateProjectV2ItemFieldValue(input: {
projectId: $project
itemId: $item
fieldId: $date_field
value: {
date: $date_value
}
}) {
projectV2Item {
id
}
}
}' -f project=$PROJECT_ID -f item=$item_id -f status_field=$STATUS_FIELD_ID -f status_value=${{ github.event_name == 'pull_request_target' && env.PR_OPTION_ID || env.TODO_OPTION_ID }} -f date_field=$DATE_FIELD_ID -f date_value=$DATE --silent
env:
COLUMN_NAME: ${{ inputs.todo_column}}
ISSUE_OR_PR_ID: ${{ github.event_name == 'pull_request_target' && github.event.pull_request.node_id || github.event.issue.node_id }}
32 changes: 21 additions & 11 deletions .github/workflows/ci-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [16.x, 18.x, 20.x, 22.x]
node-version: [18.x, 20.x, 22.x]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -130,7 +130,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [16.x, 18.x, 20.x, 22.x]
node-version: [18.x, 20.x, 22.x]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -166,7 +166,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [16.x, 18.x, 20.x, 22.x]
node-version: [18.x, 20.x, 22.x]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -217,7 +217,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [16.x, 18.x, 20.x, 22.x]
node-version: [18.x, 20.x, 22.x]

steps:
- uses: actions/checkout@v4
Expand All @@ -240,27 +240,37 @@ jobs:

strategy:
matrix:
node-version: [16.x, 18.x, 20.x, 22.x]
node-version: [18.x, 20.x, 22.x]

steps:
- uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
- name: Post Unit Test Coverage
uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
directory: unit-tests-${{ matrix.node-version }}
flags: unit-tests-${{ matrix.node-version }}
- name: Post Integration Test Coverage
uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c
- name: Post Integration CJS Test Coverage
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
directory: integration-tests-${{ matrix.node-version }}
flags: integration-tests-${{ matrix.node-version }}
directory: integration-tests-cjs-${{ matrix.node-version }}
flags: integration-tests-cjs-${{ matrix.node-version }}
- name: Post Integration ESM Test Coverage
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
directory: integration-tests-esm-${{ matrix.node-version }}
flags: integration-tests-esm-${{ matrix.node-version }}
- name: Post Versioned Test Coverage
uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
directory: versioned-tests-${{ matrix.node-version }}
flags: versioned-tests-${{ matrix.node-version }}
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/compatibility-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ jobs:
# Upload generated artifacts for potential debugging purposes.
- uses: actions/upload-artifact@v4
if: always()
with:
name: status.log
path: status.log
Expand Down Expand Up @@ -95,6 +96,7 @@ jobs:
# Upload generated artifacts for potential debugging purposes.
- uses: actions/upload-artifact@v4
if: always()
with:
name: docs-status.log
path: docs-status.log
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/post-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
if:
(github.event.workflow_run && github.event.workflow_run.conclusion == 'success') ||
(github.event_name == 'workflow_dispatch' &&
(inputs.repo_target == 'local' || inputs.repo_target == 'both'))
(inputs.repo_target == 'docs' || inputs.repo_target == 'both'))
steps:
- uses: actions/checkout@v4
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/smoke-test-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:

strategy:
matrix:
node-version: [16.x, 18.x, 20.x, 22.x]
node-version: [18.x, 20.x, 22.x]

steps:
- uses: actions/checkout@v4
Expand Down
Loading

0 comments on commit b34d4f6

Please sign in to comment.