Skip to content

v5.76.0 proposal

v5.76.0 proposal #5177

name: APM Integrations
on:
pull_request:
push:
branches: [master]
schedule:
- cron: 0 4 * * *
workflow_dispatch:
inputs:
latest-version:
description: 'Node version to run'
required: false
type: string
concurrency:
group: ${{ github.workflow }}-${{ inputs.latest-version }}-${{ github.ref || github.run_id }}"
cancel-in-progress: true
env:
MOCHA_OPTIONS: ${{ github.ref == 'refs/heads/master' && '--retries 1' || '' }}
LATEST_VERSION: ${{ inputs.latest-version }}
# TODO: upstream jobs
jobs:
aerospike:
strategy:
matrix:
node-version: [eol]
range: ['>=4.0.0 <5.2.0']
aerospike-image: [ce-5.7.0.15]
test-image: [ubuntu-22.04]
include:
- node-version: 18
range: '>=5.2.0 <6.3.0'
range_clean: gte.5.2.0
aerospike-image: ce-6.4.0.3
test-image: ubuntu-latest
- node-version: 20
range: '>=5.5.0'
range_clean: gte.5.5.0
aerospike-image: ce-6.4.0.3
test-image: ubuntu-latest
- node-version: 22
range: '>=5.12.1'
range_clean: gte.5.12.1
aerospike-image: ce-6.4.0.3
test-image: ubuntu-latest
- node-version: 22
range: '>=6.0.0'
range_clean: gte.6.0.0
aerospike-image: ce-6.4.0.3
test-image: ubuntu-latest
runs-on: ${{ matrix.test-image }}
services:
aerospike:
image: aerospike:${{ matrix.aerospike-image }}
ports:
- '127.0.0.1:3000-3002:3000-3002'
env:
PLUGINS: aerospike
SERVICES: aerospike
PACKAGE_VERSION_RANGE: ${{ matrix.range }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node
with:
version: ${{ matrix.node-version }}
- run: yarn config set ignore-engines true
- name: Install dependencies
uses: ./.github/actions/install
- name: Run tests
run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}-${{ matrix.node-version }}-${{ matrix.range_clean }}
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
amqp10:
runs-on: ubuntu-latest
services:
qpid:
image: scholzj/qpid-cpp:1.38.0
env:
QPIDD_ADMIN_USERNAME: admin
QPIDD_ADMIN_PASSWORD: admin
ports:
- 5673:5672
env:
PLUGINS: amqp10
SERVICES: qpid
DD_DATA_STREAMS_ENABLED: true
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test-and-upstream
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
amqplib:
runs-on: ubuntu-latest
services:
rabbitmq:
image: rabbitmq:3.6-alpine
ports:
- 5672:5672
env:
PLUGINS: amqplib
SERVICES: rabbitmq
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test-and-upstream
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
apollo:
runs-on: ubuntu-latest
env:
PLUGINS: apollo
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test-and-upstream
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
avsc:
runs-on: ubuntu-latest
env:
PLUGINS: avsc
DD_DATA_STREAMS_ENABLED: true
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test-and-upstream
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
axios:
runs-on: ubuntu-latest
env:
PLUGINS: axios
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/upstream
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
bunyan:
runs-on: ubuntu-latest
env:
PLUGINS: bunyan
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test-and-upstream
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
cassandra:
runs-on: ubuntu-latest
services:
cassandra:
image: cassandra:3-focal
ports:
- 9042:9042
env:
PLUGINS: cassandra-driver
SERVICES: cassandra
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
child_process:
runs-on: ubuntu-latest
env:
PLUGINS: child_process
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/node/oldest-maintenance-lts
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/newest-maintenance-lts
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/active-lts
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
confluentinc-kafka-javascript:
strategy:
matrix:
# using node versions matrix since this plugin testing fails due to install differences between node versions
node-version: [18, 20, 22]
range: ['>=1.0.0']
include:
- node-version: 24
range: '>=1.4.0'
range_clean: gte.1.4.0
runs-on: ubuntu-latest
services:
kafka:
image: apache/kafka-native:3.9.1
env:
KAFKA_PROCESS_ROLES: broker,controller
KAFKA_NODE_ID: '1'
KAFKA_LISTENERS: PLAINTEXT://:9092,CONTROLLER://:9093
KAFKA_CONTROLLER_QUORUM_VOTERS: [email protected]:9093
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
KAFKA_CLUSTER_ID: r4zt_wrqTRuT7W2NJsB_GA
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: '1'
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: '0'
ports:
- 9092:9092
- 9093:9093
options: >-
--health-cmd "nc -z localhost 9092"
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
PLUGINS: confluentinc-kafka-javascript
SERVICES: kafka
PACKAGE_VERSION_RANGE: ${{ matrix.range }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node
with:
version: ${{ matrix.node-version }}
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}-${{ matrix.node-version }}
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
cookie-parser:
runs-on: ubuntu-latest
env:
PLUGINS: cookie-parser
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
couchbase:
strategy:
matrix:
node-version: [eol]
range:
# - '^2.6.12' skipping due to bug with couchbase integration that is blocking CI.
# TODO: diagnose and fix failures. Link to bug issue: https://github.com/DataDog/dd-trace-js/issues/6400
- '^3.0.7'
- '>=4.0.0 <4.2.0'
include:
- node-version: 18
range: '>=4.2.0'
runs-on: ubuntu-latest
services:
couchbase:
image: ghcr.io/datadog/couchbase-server-sandbox:latest
ports:
- 8091-8095:8091-8095
- 11210:11210
env:
PLUGINS: couchbase
SERVICES: couchbase
PACKAGE_VERSION_RANGE: ${{ matrix.range }}
DD_INJECT_FORCE: 'true'
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node
with:
version: ${{ matrix.node-version }}
- uses: ./.github/actions/install
- run: yarn config set ignore-engines true
- run: yarn test:plugins:ci --ignore-engines
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
connect:
runs-on: ubuntu-latest
env:
PLUGINS: connect
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test-and-upstream
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
dns:
runs-on: ubuntu-latest
env:
PLUGINS: dns
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/oldest-maintenance-lts
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/newest-maintenance-lts
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/active-lts
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
elasticsearch:
runs-on: ubuntu-latest
services:
elasticsearch:
image: elasticsearch:7.17.22
env:
discovery.type: single-node
ports:
- 9200:9200
env:
PLUGINS: elasticsearch
SERVICES: elasticsearch
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/latest
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
express:
runs-on: ubuntu-latest
env:
PLUGINS: express
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/latest
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
express-mongo-sanitize:
runs-on: ubuntu-latest
env:
PLUGINS: express-mongo-sanitize
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
express-session:
runs-on: ubuntu-latest
env:
PLUGINS: express-session
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
fastify:
runs-on: ubuntu-latest
env:
PLUGINS: fastify
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
fetch:
runs-on: ubuntu-latest
env:
PLUGINS: fetch
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
fs:
runs-on: ubuntu-latest
env:
PLUGINS: fs
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
graphql:
runs-on: ubuntu-latest
env:
PLUGINS: graphql
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test-and-upstream
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
grpc:
runs-on: ubuntu-latest
env:
PLUGINS: grpc
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
hapi:
runs-on: ubuntu-latest
env:
PLUGINS: hapi
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
hono:
runs-on: ubuntu-latest
env:
PLUGINS: hono
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
http:
strategy:
matrix:
node-version: [oldest, maintenance, 'latest']
runs-on: ubuntu-latest
env:
PLUGINS: http
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node
with:
version: ${{ matrix.node-version }}
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}-${{ matrix.node-version }}
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
http2:
runs-on: ubuntu-latest
env:
PLUGINS: http2
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/oldest-maintenance-lts
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/newest-maintenance-lts
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/active-lts
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
kafkajs:
strategy:
matrix:
node-version: ['oldest', 'latest']
runs-on: ubuntu-latest
services:
kafka:
image: apache/kafka-native:3.9.1
env:
KAFKA_PROCESS_ROLES: broker,controller
KAFKA_NODE_ID: '1'
KAFKA_LISTENERS: PLAINTEXT://:9092,CONTROLLER://:9093
KAFKA_CONTROLLER_QUORUM_VOTERS: [email protected]:9093
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
KAFKA_CLUSTER_ID: r4zt_wrqTRuT7W2NJsB_GA
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: '1'
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: '0'
ports:
- 9092:9092
- 9093:9093
options: >-
--health-cmd "nc -z localhost 9092"
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
PLUGINS: kafkajs
SERVICES: kafka
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node
with:
version: ${{ matrix.node-version }}
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}-${{ matrix.node-version }}
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
koa:
runs-on: ubuntu-latest
env:
PLUGINS: koa
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test-and-upstream
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
limitd-client:
runs-on: ubuntu-latest
services:
limitd:
image: rochdev/limitd
env:
BUCKET_1_NAME: 'user'
BUCKET_1_SIZE: '10'
BUCKET_1_PER_SECOND: '5'
ports:
- 9231:9231
env:
PLUGINS: limitd-client
SERVICES: limitd
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
mariadb:
runs-on: ubuntu-latest
services:
mysql:
image: mariadb:10.4
env:
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
MYSQL_DATABASE: 'db'
ports:
- 3306:3306
env:
PLUGINS: mariadb
SERVICES: mariadb
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
memcached:
runs-on: ubuntu-latest
services:
memcached:
image: memcached:1.5-alpine
ports:
- 11211:11211
env:
PLUGINS: memcached
SERVICES: memcached
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
microgateway-core:
runs-on: ubuntu-latest
env:
PLUGINS: microgateway-core
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
moleculer:
runs-on: ubuntu-latest
env:
PLUGINS: moleculer
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
mongodb:
runs-on: ubuntu-latest
services:
mongodb:
image: circleci/mongo
ports:
- 27017:27017
env:
PLUGINS: mongodb-core
PACKAGE_NAMES: mongodb
SERVICES: mongo
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
mongodb-core:
runs-on: ubuntu-latest
services:
mongodb:
image: circleci/mongo
ports:
- 27017:27017
env:
PLUGINS: mongodb-core|express-mongo-sanitize
PACKAGE_NAMES: mongodb-core,express-mongo-sanitize
SERVICES: mongo
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
mongoose:
runs-on: ubuntu-latest
services:
mongodb:
image: circleci/mongo
ports:
- 27017:27017
env:
PLUGINS: mongoose
SERVICES: mongo
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
mysql:
runs-on: ubuntu-latest
services:
mysql:
image: mariadb:10.4
env:
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
MYSQL_DATABASE: 'db'
ports:
- 3306:3306
env:
PLUGINS: mysql
SERVICES: mysql
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
mysql2:
runs-on: ubuntu-latest
services:
mysql:
image: mariadb:10.4
env:
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
MYSQL_DATABASE: 'db'
ports:
- 3306:3306
env:
PLUGINS: mysql2
SERVICES: mysql2
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
net:
runs-on: ubuntu-latest
env:
PLUGINS: net
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/oldest-maintenance-lts
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/newest-maintenance-lts
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/active-lts
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
# TODO: fix performance issues and test more Node versions
next:
strategy:
fail-fast: false
matrix:
version:
- 18
- latest
range:
- '>=10.2.0 <11'
- '>=11.0.0 <13'
- '11.1.4'
- '>=13.0.0 <14'
- '13.2.0'
- '>=14.0.0 <=14.2.6'
- '>=14.2.7 <15'
- '>=15.0.0 <15.4.1'
include:
- range: '>=10.2.0 <11'
range_clean: gte.10.2.0.and.lt.11
- range: '>=11.0.0 <13'
range_clean: gte.11.0.0.and.lt.13
- range: '11.1.4'
range_clean: 11.1.4
- range: '>=13.0.0 <14'
range_clean: gte.13.0.0.and.lt.14
- range: '13.2.0'
range_clean: 13.2.0
- range: '>=14.0.0 <=14.2.6'
range_clean: gte.14.0.0.and.lte.14.2.6
- range: '>=14.2.7 <15'
range_clean: gte.14.2.7.and.lt.15
- range: '>=15.0.0 <15.4.1'
range_clean: gte.15.0.0
runs-on: ubuntu-latest
env:
PLUGINS: next
PACKAGE_VERSION_RANGE: ${{ matrix.range }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/latest
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}-${{ matrix.version }}-${{ matrix.range_clean }}
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
opensearch:
runs-on: ubuntu-latest
services:
opensearch:
image: opensearchproject/opensearch:2.8.0
env:
plugins.security.disabled: 'true'
discovery.type: single-node
ports:
- 9201:9200
env:
PLUGINS: opensearch
SERVICES: opensearch
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
# TODO: Figure out why nyc stopped working with EACCESS errors.
oracledb:
runs-on: ubuntu-latest
services:
oracledb:
image: gvenzl/oracle-xe:18-slim
env:
ORACLE_PASSWORD: Oracle18
ports:
- 1521:1521
- 5500:5500
testagent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.21.1
env:
LOG_LEVEL: DEBUG
TRACE_LANGUAGE: javascript
ENABLED_CHECKS: trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service
PORT: 9126
ports:
- 9126:9126
env:
PLUGINS: oracledb
SERVICES: oracledb
DD_INJECT_FORCE: 'true'
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/node
with:
version: eol
- uses: ./.github/actions/install
- run: |
mkdir -p /opt/oracle
cd /opt/oracle
wget https://download.oracle.com/otn_software/linux/instantclient/1928000/instantclient-basic-linux.x64-19.28.0.0.0dbru.zip
unzip instantclient-basic-linux.x64-19.28.0.0.0dbru.zip
sudo apt-get update -y && sudo apt-get install -y libaio1t64
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
sudo sh -c "echo /opt/oracle/instantclient_19_28 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig
- run: yarn config set ignore-engines true
- run: yarn services --ignore-engines
- run: yarn test:plugins --ignore-engines
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
# TODO: re-enable upstream tests if it ever stops being flaky
pino:
runs-on: ubuntu-latest
env:
PLUGINS: pino
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/newest-maintenance-lts
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
# - run: yarn test:plugins:upstream
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
postgres:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:9.5
env:
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
env:
PG_TEST_NATIVE: 'true'
PLUGINS: pg
SERVICES: postgres
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
prisma:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:9.5
env:
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
env:
PLUGINS: prisma
SERVICES: prisma
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
protobufjs:
runs-on: ubuntu-latest
env:
PLUGINS: protobufjs
DD_DATA_STREAMS_ENABLED: true
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test-and-upstream
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
redis:
runs-on: ubuntu-latest
services:
redis:
image: redis:6.2-alpine
ports:
- 6379:6379
env:
PLUGINS: redis
SERVICES: redis
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
ioredis:
runs-on: ubuntu-latest
services:
redis:
image: redis:6.2-alpine
ports:
- 6379:6379
env:
PLUGINS: ioredis
SERVICES: ioredis
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
valkey:
runs-on: ubuntu-latest
services:
valkey:
image: valkey/valkey:8.1-alpine
ports:
- 6379:6379
env:
PLUGINS: iovalkey
SERVICES: valkey
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
# Restify isn't compatible with Node.js v24 so we don't run against latest Node.js
# see: https://github.com/restify/node-restify/issues/1984
restify:
runs-on: ubuntu-latest
env:
PLUGINS: restify
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/active-lts
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/oldest-maintenance-lts
- run: yarn test:plugins:ci
rhea:
runs-on: ubuntu-latest
services:
qpid:
image: scholzj/qpid-cpp:1.38.0
env:
QPIDD_ADMIN_USERNAME: admin
QPIDD_ADMIN_PASSWORD: admin
ports:
- 5673:5672
env:
PLUGINS: rhea
SERVICES: qpid
DD_DATA_STREAMS_ENABLED: true
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test-and-upstream
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
router:
runs-on: ubuntu-latest
env:
PLUGINS: router
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
sharedb:
runs-on: ubuntu-latest
env:
PLUGINS: sharedb
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/latest
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
tedious:
runs-on: ubuntu-latest
services:
mssql:
image: mcr.microsoft.com/mssql/server:2019-latest
env:
ACCEPT_EULA: 'Y'
SA_PASSWORD: DD_HUNTER2
MSSQL_PID: Express
ports:
- 1433:1433
env:
PLUGINS: tedious
SERVICES: mssql
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/latest
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
undici:
runs-on: ubuntu-latest
env:
PLUGINS: undici
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
winston:
runs-on: ubuntu-latest
env:
PLUGINS: winston
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
ws:
runs-on: ubuntu-latest
env:
PLUGINS: ws
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}