v5.76.0 proposal #5164
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |