This repository has been archived by the owner on Sep 17, 2024. It is now read-only.
Project #333
This file contains 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: Project | |
on: | |
pull_request: | |
push: | |
branches: [master] | |
schedule: | |
- cron: "0 4 * * *" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
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: [18, 20, latest] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.version }} | |
# Disable core dumps since some integration tests intentionally abort and core dump generation takes around 5-10s | |
- run: yarn install | |
- run: sudo sysctl -w kernel.core_pattern='|/bin/false' | |
- run: yarn test:integration | |
integration-ci: | |
strategy: | |
matrix: | |
version: [18, latest] | |
framework: [cucumber, playwright] | |
runs-on: ubuntu-latest | |
env: | |
DD_SERVICE: dd-trace-js-integration-tests | |
DD_CIVISIBILITY_AGENTLESS_ENABLED: 1 | |
DD_API_KEY: ${{ secrets.DD_API_KEY_CI_APP }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.version }} | |
- run: yarn install | |
- run: yarn test:integration:${{ matrix.framework }} | |
env: | |
NODE_OPTIONS: '-r ./ci/init' | |
integration-cypress: | |
strategy: | |
matrix: | |
# Important: This is outside the minimum supported version of dd-trace-js | |
# Node > 16 does not work with [email protected] (not even without our plugin) | |
# TODO: figure out what to do with this: we might have to deprecate support for [email protected] | |
version: [16, latest] | |
# 6.7.0 is the minimum version we support | |
cypress-version: [6.7.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_CI_APP }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/node/setup | |
- run: yarn install --ignore-engines | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.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' | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/node/setup | |
- run: yarn install | |
- run: yarn lint | |
typescript: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/node/setup | |
- run: yarn install | |
- run: yarn type:test | |
- run: yarn type:doc |