Skip to content

Add runtime guardrail for SSI #12973

Add runtime guardrail for SSI

Add runtime guardrail for SSI #12973

Workflow file for this run

name: Plugins
on:
pull_request:
push:
branches: [master]
schedule:
- cron: '0 4 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
# TODO: upstream jobs
jobs:
aerospike-node-14:
runs-on: ubuntu-latest
container:
image: ubuntu:18.04
services:
aerospike:
image: aerospike:ce-5.3.0.16
ports:
- 3000:3000
testagent:
image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.16.0
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: aerospike
SERVICES: aerospike
PACKAGE_VERSION_RANGE: '3.16.2 - 3.16.7'
DD_TEST_AGENT_URL: http://testagent:9126
AEROSPIKE_HOST_ADDRESS: aerospike
steps:
# Needs to remain on v3 for now due to GLIBC version
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '14'
- id: pkg
run: |
content=`cat ./package.json | tr '\n' ' '`
echo "json=$content" >> $GITHUB_OUTPUT
- id: extract
run: |
version="${{fromJson(steps.pkg.outputs.json).version}}"
majorVersion=$(echo "$version" | cut -d '.' -f 1)
echo "Major Version: $majorVersion"
echo "MAJOR_VERSION=$majorVersion" >> $GITHUB_ENV
- name: Install dependencies and run tests
if: env.MAJOR_VERSION == '3'
run: |
apt-get update && \
apt-get install -y \
python3 python3-pip \
wget \
g++ libssl1.0.0 libssl-dev zlib1g-dev && \
npm install -g yarn
yarn install --ignore-engines
yarn test:plugins:ci
- if: always()
uses: codecov/codecov-action@v2
aerospike-node-16:
runs-on: ubuntu-latest
services:
aerospike:
image: aerospike:ce-5.7.0.15
ports:
- "127.0.0.1:3000-3002:3000-3002"
env:
PLUGINS: aerospike
SERVICES: aerospike
PACKAGE_VERSION_RANGE: '>=4.0.0 <5.2.0'
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- id: pkg
run: |
content=`cat ./package.json | tr '\n' ' '`
echo "json=$content" >> $GITHUB_OUTPUT
- id: extract
run: |
version="${{fromJson(steps.pkg.outputs.json).version}}"
majorVersion=$(echo "$version" | cut -d '.' -f 1)
echo "Major Version: $majorVersion"
echo "MAJOR_VERSION=$majorVersion" >> $GITHUB_ENV
- uses: ./.github/actions/node/oldest
- name: Install dependencies and run tests
if: env.MAJOR_VERSION == '4'
run: |
yarn install --ignore-engines
yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
aerospike-node-18-20:
strategy:
matrix:
node-version: [18]
range: ['5.2.0 - 5.7.0']
include:
- node-version: 20
range: '>=5.8.0'
runs-on: ubuntu-latest
services:
aerospike:
image: aerospike:ce-6.4.0.3
ports:
- "127.0.0.1:3000-3002:3000-3002"
env:
PLUGINS: aerospike
SERVICES: aerospike
PACKAGE_VERSION_RANGE: ${{ matrix.range }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- id: pkg
run: |
content=`cat ./package.json | tr '\n' ' '`
echo "json=$content" >> $GITHUB_OUTPUT
- id: extract
run: |
version="${{fromJson(steps.pkg.outputs.json).version}}"
majorVersion=$(echo "$version" | cut -d '.' -f 1)
echo "Major Version: $majorVersion"
echo "MAJOR_VERSION=$majorVersion" >> $GITHUB_ENV
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies and run tests
if: env.MAJOR_VERSION >= '5'
run: |
yarn install --ignore-engines
yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
amqp10: # TODO: move rhea to its own job
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|rhea
SERVICES: qpid
DD_DATA_STREAMS_ENABLED: true
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
amqplib:
runs-on: ubuntu-latest
services:
rabbitmq:
image: rabbitmq:3.6-alpine
ports:
- 5672:5672
env:
PLUGINS: amqplib
SERVICES: rabbitmq
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
apollo:
runs-on: ubuntu-latest
env:
PLUGINS: apollo
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
aws-sdk:
runs-on: ubuntu-latest
services:
localstack:
image: localstack/localstack:3.0.2
env:
LOCALSTACK_SERVICES: dynamodb,kinesis,s3,sqs,sns,redshift,route53,logs,serverless,lambda,stepfunctions,events
EXTRA_CORS_ALLOWED_HEADERS: x-amz-request-id,x-amzn-requestid,x-amz-id-2
EXTRA_CORS_EXPOSE_HEADERS: x-amz-request-id,x-amzn-requestid,x-amz-id-2
AWS_DEFAULT_REGION: us-east-1
FORCE_NONINTERACTIVE: 'true'
LAMBDA_EXECUTOR: local
START_WEB: '0'
ports:
- 4566:4566
# we have two localstacks since upgrading localstack was causing lambda & S3 tests to fail
# To-Do: Debug localstack / lambda and localstack / S3
localstack-legacy:
image: localstack/localstack:1.1.0
ports:
- "127.0.0.1:4567:4567" # Edge
env:
LOCALSTACK_SERVICES: dynamodb,kinesis,s3,sqs,sns,redshift,route53,logs,serverless
EXTRA_CORS_ALLOWED_HEADERS: x-amz-request-id,x-amzn-requestid,x-amz-id-2
EXTRA_CORS_EXPOSE_HEADERS: x-amz-request-id,x-amzn-requestid,x-amz-id-2
AWS_DEFAULT_REGION: us-east-1
FORCE_NONINTERACTIVE: 'true'
LAMBDA_EXECUTOR: local
START_WEB: '0'
GATEWAY_LISTEN: 127.0.0.1:4567
EDGE_PORT: 4567
EDGE_PORT_HTTP: 4567
env:
PLUGINS: aws-sdk
SERVICES: localstack localstack-legacy
DD_DATA_STREAMS_ENABLED: true
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
axios:
runs-on: ubuntu-latest
env:
PLUGINS: axios
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:upstream
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:upstream
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
bluebird:
runs-on: ubuntu-latest
env:
PLUGINS: bluebird
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- uses: codecov/codecov-action@v3
- if: always()
uses: ./.github/actions/testagent/logs
bunyan:
runs-on: ubuntu-latest
env:
PLUGINS: bunyan
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
cassandra:
runs-on: ubuntu-latest
services:
cassandra:
image: cassandra:3-focal
ports:
- 9042:9042
env:
PLUGINS: cassandra-driver
SERVICES: cassandra
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
child_process:
runs-on: ubuntu-latest
env:
PLUGINS: child_process
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/20
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- uses: codecov/codecov-action@v2
couchbase:
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
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: codecov/codecov-action@v3
connect:
runs-on: ubuntu-latest
env:
PLUGINS: connect
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
cucumber:
runs-on: ubuntu-latest
env:
PLUGINS: cucumber
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
# TODO: fix performance issues and test more Node versions
cypress:
runs-on: ubuntu-latest
env:
PLUGINS: cypress
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
dns:
runs-on: ubuntu-latest
env:
PLUGINS: dns
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/18
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/20
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
elasticsearch:
runs-on: ubuntu-latest
services:
elasticsearch:
image: elasticsearch:7.14.0
env:
discovery.type: single-node
ports:
- 9200:9200
env:
PLUGINS: elasticsearch
SERVICES: elasticsearch
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
express:
runs-on: ubuntu-latest
env:
PLUGINS: express|body-parser|cookie-parser
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
fastify:
runs-on: ubuntu-latest
env:
PLUGINS: fastify
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
fetch:
runs-on: ubuntu-latest
env:
PLUGINS: fetch
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
generic-pool:
runs-on: ubuntu-latest
env:
PLUGINS: generic-pool
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
google-cloud-pubsub:
runs-on: ubuntu-latest
services:
pubsub:
image: ghcr.io/ridedott/pubsub-emulator
ports:
- 8081:8081
env:
PLUGINS: google-cloud-pubsub
SERVICES: gpubsub
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
graphql:
runs-on: ubuntu-latest
env:
PLUGINS: graphql
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
grpc:
runs-on: ubuntu-latest
env:
PLUGINS: grpc
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
hapi:
runs-on: ubuntu-latest
env:
PLUGINS: hapi
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
http:
runs-on: ubuntu-latest
env:
PLUGINS: http
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/18
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/20
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
http2:
runs-on: ubuntu-latest
env:
PLUGINS: http2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/18
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/20
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
# TODO: fix performance issues and test more Node versions
jest:
runs-on: ubuntu-latest
env:
PLUGINS: jest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
kafkajs:
runs-on: ubuntu-latest
services:
kafka:
image: debezium/kafka:1.7
env:
CLUSTER_ID: 5Yr1SIgYQz-b-dgRabWx4g
NODE_ID: "1"
CREATE_TOPICS: "test-topic:1:1"
KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka:9093
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: "0"
ports:
- 9092:9092
- 9093:9093
env:
PLUGINS: kafkajs
SERVICES: kafka
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
knex:
runs-on: ubuntu-latest
env:
PLUGINS: knex
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
koa:
runs-on: ubuntu-latest
env:
PLUGINS: koa
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
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@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
memcached:
runs-on: ubuntu-latest
services:
memcached:
image: memcached:1.5-alpine
ports:
- 11211:11211
env:
PLUGINS: memcached
SERVICES: memcached
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
microgateway-core:
runs-on: ubuntu-latest
env:
PLUGINS: microgateway-core
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
mocha:
runs-on: ubuntu-latest
env:
PLUGINS: mocha
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- uses: codecov/codecov-action@v3
- if: always()
uses: ./.github/actions/testagent/logs
moleculer:
runs-on: ubuntu-latest
env:
PLUGINS: moleculer
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
mongodb-core:
runs-on: ubuntu-latest
services:
mongodb:
image: circleci/mongo
ports:
- 27017:27017
env:
PLUGINS: mongodb-core|express-mongo-sanitize
SERVICES: mongo
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
mongoose:
runs-on: ubuntu-latest
services:
mongodb:
image: circleci/mongo
ports:
- 27017:27017
env:
PLUGINS: mongoose
SERVICES: mongo
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
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|mysql2|mariadb # TODO: move mysql2 to its own job
SERVICES: mysql
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
net:
runs-on: ubuntu-latest
env:
PLUGINS: net
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/18
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/20
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
# TODO: fix performance issues and test more Node versions
next:
strategy:
matrix:
version:
- 18
- latest
runs-on: ubuntu-latest
env:
PLUGINS: next
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
openai:
runs-on: ubuntu-latest
env:
PLUGINS: openai
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
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@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
# TODO: Install the Oracle client on the host and test Node >=16.
# TODO: Figure out why nyc stopped working with EACCESS errors.
oracledb:
runs-on: ubuntu-latest
container: bengl/node-12-with-oracle-client
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.16.0
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_TEST_AGENT_URL: http://testagent:9126
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: yarn
node-version: '16'
- run: yarn install --ignore-engines
- run: yarn config set ignore-engines true
- run: yarn services --ignore-engines
- run: yarn test:plugins --ignore-engines
- uses: codecov/codecov-action@v2
paperplane:
runs-on: ubuntu-latest
env:
PLUGINS: paperplane
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
# TODO: re-enable upstream tests if it ever stops being flaky
pino:
runs-on: ubuntu-latest
env:
PLUGINS: pino
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/20
- 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
- uses: codecov/codecov-action@v3
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@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
promise:
runs-on: ubuntu-latest
env:
PLUGINS: promise
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
promise-js:
runs-on: ubuntu-latest
env:
PLUGINS: promise-js
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
q:
runs-on: ubuntu-latest
env:
PLUGINS: q
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
redis:
runs-on: ubuntu-latest
services:
redis:
image: redis:4.0-alpine
ports:
- 6379:6379
env:
PLUGINS: redis|ioredis # TODO: move ioredis to its own job
SERVICES: redis
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
restify:
runs-on: ubuntu-latest
env:
PLUGINS: restify
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
router:
runs-on: ubuntu-latest
env:
PLUGINS: router
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
sharedb:
runs-on: ubuntu-latest
env:
PLUGINS: sharedb
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
tedious:
runs-on: ubuntu-latest
services:
mssql:
image: mcr.microsoft.com/mssql/server:2017-latest-ubuntu
env:
ACCEPT_EULA: 'Y'
SA_PASSWORD: DD_HUNTER2
MSSQL_PID: Express
ports:
- 1433:1433
env:
PLUGINS: tedious
SERVICES: mssql
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- run: yarn test:plugins:upstream
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
undici:
runs-on: ubuntu-latest
env:
PLUGINS: undici
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
when:
runs-on: ubuntu-latest
env:
PLUGINS: when
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
winston:
runs-on: ubuntu-latest
env:
PLUGINS: winston
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install
- uses: ./.github/actions/node/oldest
- run: yarn test:plugins:ci
- uses: ./.github/actions/node/latest
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs