WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

vendor bundled non-datadog dependencies #6352

vendor bundled non-datadog dependencies

vendor bundled non-datadog dependencies #6352

name: Test Optimization
on:
pull_request:
push:
branches:
- master
schedule:
- cron: 0 4 * * *
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
env:
MOCHA_OPTIONS: ${{ github.ref == 'refs/heads/master' && '--retries 1' || '' }}
jobs:
benchmarks-e2e:
name: Performance and correctness tests
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- uses: DataDog/dd-octo-sts-action@acaa02eee7e3bb0839e4272dacb37b8f3b58ba80 # v1.0.3
id: octo-sts
with:
scope: DataDog/test-environment
policy: dd-trace-js
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
token: ${{ steps.octo-sts.outputs.token }}
- uses: ./.github/actions/node/oldest-maintenance-lts
- name: Test Optimization Performance Overhead Test
run: yarn bench:e2e:test-optimization
env:
GITHUB_TOKEN: ${{ steps.octo-sts.outputs.token }}
integration:
strategy:
matrix:
version: [oldest, maintenance, active, latest]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: ./.github/actions/node
with:
version: ${{ matrix.version }}
- uses: ./.github/actions/install
- name: Get latest Playwright version
id: playwright-version
run: |
PLAYWRIGHT_VERSION=$(npm view @playwright/test version)
echo "version=$PLAYWRIGHT_VERSION" >> $GITHUB_OUTPUT
echo "Latest Playwright version: $PLAYWRIGHT_VERSION"
- name: Cache Playwright browsers
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ~/.cache/ms-playwright
key: playwright-browsers-${{ runner.os }}-${{ steps.playwright-version.outputs.version }}
- run: yarn test:integration:testopt
integration-playwright:
strategy:
matrix:
node-version: [oldest, latest]
playwright-version: [oldest, latest]
name: integration-playwright (${{ matrix.playwright-version}}, node-${{ matrix.node-version }})
runs-on: ubuntu-latest
container:
image: rochdev/playwright-tools@sha256:99a8e8df71996aa7797f83e98df50bc550c7c6eaf0b701f19fa4f928f2cf93b2 # 1.54.1-3
env:
DD_SERVICE: dd-trace-js-integration-tests
DD_CIVISIBILITY_AGENTLESS_ENABLED: 1
DD_API_KEY: ${{ secrets.DD_API_KEY }}
OPTIONS_OVERRIDE: 1
PLAYWRIGHT_VERSION: ${{ matrix.playwright-version }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: ./.github/actions/node
with:
version: ${{ matrix.node-version }}
- uses: ./.github/actions/install
# We need this because the "oldest" playwright version depends on the major version of dd-trace
# For v5 it's 1.18.0 and for v6 it's 1.38.0
# We don't cache "latest" because it changes based on playwright releases.
# We could do it, but we'd have to request GitHub API to get the latest version,
# and the cache hit rate would be way lower than for "oldest", which should be 100%.
- name: Get dd-trace major version
if: matrix.playwright-version == 'oldest'
id: dd-version
run: |
VERSION=$(node -p "require('./package.json').version")
MAJOR=$(echo $VERSION | cut -d. -f1)
echo "major=$MAJOR" >> $GITHUB_OUTPUT
echo "dd-trace major version: $MAJOR"
- name: Cache Playwright browsers
if: matrix.playwright-version == 'oldest'
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: /github/home/.cache/ms-playwright
key: playwright-browsers-oldest-dd${{ steps.dd-version.outputs.major }}
- run: yarn test:integration:playwright
env:
NODE_OPTIONS: '-r ./ci/init'
integration-mocha:
strategy:
matrix:
version: [oldest, latest]
mocha-version: [5.2.0, latest]
runs-on: ubuntu-latest
env:
DD_SERVICE: dd-trace-js-integration-tests
DD_CIVISIBILITY_AGENTLESS_ENABLED: 1
DD_API_KEY: ${{ secrets.DD_API_KEY }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: ./.github/actions/node
with:
version: ${{ matrix.version }}
- uses: ./.github/actions/install
- run: yarn test:integration:mocha
env:
NODE_OPTIONS: '-r ./ci/init'
MOCHA_VERSION: ${{ matrix.mocha-version }}
integration-jest:
strategy:
matrix:
version: [oldest, latest]
jest-version: [24.8.0, latest]
runs-on: ubuntu-latest
env:
DD_SERVICE: dd-trace-js-integration-tests
DD_CIVISIBILITY_AGENTLESS_ENABLED: 1
DD_API_KEY: ${{ secrets.DD_API_KEY }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: ./.github/actions/node
with:
version: ${{ matrix.version }}
- uses: ./.github/actions/install
- run: yarn test:integration:jest
env:
NODE_OPTIONS: '-r ./ci/init'
JEST_VERSION: ${{ matrix.jest-version }}
integration-cucumber:
strategy:
matrix:
version: [oldest, latest]
cucumber-version: [7.0.0, latest]
runs-on: ubuntu-latest
env:
DD_SERVICE: dd-trace-js-integration-tests
DD_CIVISIBILITY_AGENTLESS_ENABLED: 1
DD_API_KEY: ${{ secrets.DD_API_KEY }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: ./.github/actions/node
with:
version: ${{ matrix.version }}
- uses: ./.github/actions/install
- run: yarn test:integration:cucumber
env:
NODE_OPTIONS: '-r ./ci/init'
CUCUMBER_VERSION: ${{ matrix.cucumber-version }}
integration-selenium:
strategy:
matrix:
version: [oldest, latest]
runs-on: ubuntu-latest
env:
DD_SERVICE: dd-trace-js-integration-tests
DD_CIVISIBILITY_AGENTLESS_ENABLED: 1
DD_API_KEY: ${{ secrets.DD_API_KEY }}
OPTIONS_OVERRIDE: 1
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: ./.github/actions/node
with:
version: ${{ matrix.version }}
- name: Install Google Chrome
run: |
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
if [ $? -ne 0 ]; then echo "Failed to add Google key"; exit 1; fi
sudo apt-get update
sudo apt-get install -y google-chrome-stable
if [ $? -ne 0 ]; then echo "Failed to install Google Chrome"; exit 1; fi
- name: Install ChromeDriver
run: |
export CHROME_VERSION=$(google-chrome --version)
CHROME_DRIVER_DOWNLOAD_URL=$(node --experimental-fetch scripts/get-chrome-driver-download-url.js)
wget -q "$CHROME_DRIVER_DOWNLOAD_URL"
if [ $? -ne 0 ]; then echo "Failed to download ChromeDriver"; exit 1; fi
unzip chromedriver-linux64.zip
sudo mv chromedriver-linux64/chromedriver /usr/bin/chromedriver
sudo chmod +x /usr/bin/chromedriver
- uses: ./.github/actions/install
- run: yarn test:integration:selenium
env:
NODE_OPTIONS: '-r ./ci/init'
integration-cypress:
strategy:
matrix:
version: [eol, oldest, latest]
# 6.7.0 is the minimum version we support in <=5
# 10.2.0 is the minimum version we support in >=6
# 14.5.4 is the latest version that supports Node 18
# The logic to decide whether the tests run lives in integration-tests/cypress/cypress.spec.js
cypress-version: [6.7.0, 10.2.0, 14.5.4, latest]
module-type: ['commonJS', 'esm']
runs-on: ubuntu-latest
env:
DD_SERVICE: dd-trace-js-integration-tests
DD_CIVISIBILITY_AGENTLESS_ENABLED: 1
DD_API_KEY: ${{ secrets.DD_API_KEY }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: ./.github/actions/node
with:
version: ${{ matrix.version }}
- uses: ./.github/actions/install
# We cache Cypress binaries for fixed versions (6.7.0, 10.2.0, 14.5.4) but not for "latest"
# as that changes frequently and would have a low cache hit rate
- name: Cache Cypress binary
if: matrix.cypress-version != 'latest'
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ~/.cache/Cypress
key: cypress-binary-${{ matrix.cypress-version }}
- run: yarn config set ignore-engines true
- run: yarn test:integration:cypress --ignore-engines
env:
CYPRESS_VERSION: ${{ matrix.cypress-version }}
NODE_OPTIONS: '-r ./ci/init'
CYPRESS_MODULE_TYPE: ${{ matrix.module-type }}
OPTIONS_OVERRIDE: 1
integration-vitest:
runs-on: ubuntu-latest
strategy:
matrix:
version: [oldest, latest]
env:
DD_SERVICE: dd-trace-js-integration-tests
DD_CIVISIBILITY_AGENTLESS_ENABLED: 1
DD_API_KEY: ${{ secrets.DD_API_KEY }}
OPTIONS_OVERRIDE: 1
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: ./.github/actions/node
with:
version: ${{ matrix.version }}
- uses: ./.github/actions/install
- run: yarn test:integration:vitest
env:
NODE_OPTIONS: '-r ./ci/init'