Skip to content

v5.76.0 proposal

v5.76.0 proposal #5164

Workflow file for this run

name: Platform
on:
pull_request:
push:
branches: [master]
schedule:
- cron: 0 4 * * *
workflow_dispatch:
inputs:
latest-version:
description: 'Node version to use'
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:
bun-pack:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/node/active-lts
- uses: ./.github/actions/install
- run: mkdir npm bun
- run: FILENAME=$(npm pack) && tar -zxf $FILENAME -C npm
- run: ./node_modules/.bin/bun pm pack --gzip-level 0 --filename bun.tgz && tar -zxf bun.tgz -C bun
- run: diff -r npm bun
core:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/node/oldest-maintenance-lts
- uses: ./.github/actions/install
- run: yarn test:core:ci
- uses: ./.github/actions/node/latest
- run: yarn test:core:ci
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
dd-trace-api:
runs-on: ubuntu-latest
env:
PLUGINS: dd-trace-api
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
esbuild:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/node/oldest-maintenance-lts
- uses: ./.github/actions/install
- run: yarn test:esbuild:ci
- uses: ./.github/actions/node/latest
- run: yarn test:esbuild:ci
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
instrumentation-bluebird:
runs-on: ubuntu-latest
env:
PLUGINS: bluebird
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-body-parser:
runs-on: ubuntu-latest
env:
PLUGINS: body-parser
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-child_process:
runs-on: ubuntu-latest
env:
PLUGINS: child_process
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-cookie-parser:
runs-on: ubuntu-latest
env:
PLUGINS: cookie-parser
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-express-mongo-sanitize:
runs-on: ubuntu-latest
services:
mongodb:
image: circleci/mongo
ports:
- 27017:27017
env:
PLUGINS: express-mongo-sanitize
SERVICES: mongo
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-express-session:
runs-on: ubuntu-latest
env:
PLUGINS: express-session
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-express:
runs-on: ubuntu-latest
env:
PLUGINS: express
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-fs:
runs-on: ubuntu-latest
env:
PLUGINS: fs
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-generic-pool:
runs-on: ubuntu-latest
env:
PLUGINS: generic-pool
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-http:
runs-on: ubuntu-latest
env:
PLUGINS: http
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-knex:
runs-on: ubuntu-latest
env:
PLUGINS: knex
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-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/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-multer:
runs-on: ubuntu-latest
env:
PLUGINS: multer
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-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/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-passport:
runs-on: ubuntu-latest
env:
PLUGINS: passport
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-passport-http:
runs-on: ubuntu-latest
env:
PLUGINS: passport-http
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-passport-local:
runs-on: ubuntu-latest
env:
PLUGINS: passport-local
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-pg:
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/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-promise-js:
runs-on: ubuntu-latest
env:
PLUGINS: promise-js
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-promise:
runs-on: ubuntu-latest
env:
PLUGINS: promise
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-q:
runs-on: ubuntu-latest
env:
PLUGINS: q
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-url:
runs-on: ubuntu-latest
env:
PLUGINS: url
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentation-when:
runs-on: ubuntu-latest
env:
PLUGINS: when
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/instrumentations/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
instrumentations-misc:
runs-on: ubuntu-latest
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:instrumentations:misc:ci
shell: bash
- uses: ./.github/actions/node/newest-maintenance-lts
- run: yarn test:instrumentations:misc:ci
shell: bash
- uses: ./.github/actions/node/active-lts
- run: yarn test:instrumentations:misc:ci
shell: bash
- uses: ./.github/actions/node/latest
- run: yarn test:instrumentations:misc:ci
shell: bash
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: test-${{ github.job }}
- 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: Split this up as it runs tests for multiple different teams.
integration:
strategy:
# when one version fails, say 14, all the other versions are stopped
# setting fail-fast to false in an attempt to prevent this from happening
fail-fast: false
matrix:
version: [oldest, maintenance, active, latest]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node
with:
version: ${{ matrix.version }}
# Disable core dumps since some integration tests intentionally abort and core dump generation takes around 5-10s
- uses: ./.github/actions/install
- run: sudo sysctl -w kernel.core_pattern='|/bin/false'
- run: yarn test:integration
- run: yarn test:integration:esbuild
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
unit-guardrails:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/node/latest
- uses: ./.github/actions/install
- run: yarn test:trace:guardrails: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
# We'll run these separately for earlier (i.e. unsupported) versions
integration-guardrails:
strategy:
matrix:
version: [14.0.0, 14, 16.0.0, 18.0.0, 20.0.0, 22.0.0, 24.0.0]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/node
with:
version: ${{ matrix.version }}
- uses: ./.github/actions/install
- run: bun add --ignore-scripts mocha@10 # Use older mocha to support old Node.js versions
- run: bun add --ignore-scripts express@4 # Use older express to support old Node.js versions
- run: node node_modules/.bin/mocha --colors --timeout 30000 integration-tests/init.spec.js
- uses: DataDog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a # v2.0.0
if: always()
with:
api_key: ${{ secrets.DD_API_KEY }}
service: dd-trace-js-tests
integration-guardrails-unsupported:
strategy:
matrix:
version: ['0.8', '0.10', '0.12', '4', '6', '8', '10', '12']
runs-on: ubuntu-latest
env:
DD_TRACE_DEBUG: 'true' # This exercises more of the guardrails code
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/node
with:
version: ${{ matrix.version }}
- run: node ./init
- run: node ./init
env:
DD_INJECTION_ENABLED: 'true'
shimmer:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/node/oldest-maintenance-lts
- uses: ./.github/actions/install
- run: yarn test:shimmer:ci
- uses: ./.github/actions/node/latest
- run: yarn test:shimmer: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