Skip to content

feat: support for OTLP trace export (http/json) #8105

feat: support for OTLP trace export (http/json)

feat: support for OTLP trace export (http/json) #8105

Workflow file for this run

name: Serverless
on:
pull_request:
push:
branches: [master, mq-working-branch-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 }}
jobs:
lambda:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/oldest-maintenance-lts
- uses: ./.github/actions/install
- run: yarn test:lambda:ci
- uses: ./.github/actions/node/newest-maintenance-lts
- run: yarn test:lambda:ci
- uses: ./.github/actions/node/active-lts
- run: yarn test:lambda:ci
- uses: ./.github/actions/node/latest
- run: yarn test:lambda:ci
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: lambda
- uses: ./.github/actions/coverage
with:
flags: serverless-lambda
- uses: ./.github/actions/push_to_test_optimization
if: "!cancelled()"
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
aws-sdk:
strategy:
fail-fast: false
matrix:
node-version: [oldest, latest]
spec:
- client
- aws-sdk
- bedrockruntime
- dynamodb
- eventbridge
- kinesis
- lambda
- s3
- serverless-peer-service
- sns
- sqs
- stepfunctions
- util
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"
START_WEB: "0"
ports:
- 4566:4566
volumes:
- /var/run/docker.sock:/var/run/docker.sock:rw
# 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
SPEC: ${{ matrix.spec }}
SERVICES: localstack localstack-legacy
DD_DATA_STREAMS_ENABLED: true
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node
with:
version: ${{ matrix.node-version }}
- uses: ./.github/actions/install
- run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
with:
suffix: plugins-${{ github.job }}-${{ matrix.node-version }}-${{ matrix.spec }}
- uses: ./.github/actions/coverage
with:
flags: serverless-aws-sdk-${{ matrix.node-version }}-${{ matrix.spec }}
- uses: ./.github/actions/push_to_test_optimization
if: "!cancelled()"
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
azure-event-hubs:
runs-on: ubuntu-latest
services:
azurite:
image: mcr.microsoft.com/azure-storage/azurite:3.35.0
ports:
- "127.0.0.1:10000:10000"
- "127.0.0.1:10001:10001"
- "127.0.0.1:10002:10002"
azureeventhubsemulator:
image: mcr.microsoft.com/azure-messaging/eventhubs-emulator:2.1.0
ports:
- "127.0.0.1:5673:5672"
- "127.0.0.1:9092:9092"
env:
BLOB_SERVER: azurite
METADATA_SERVER: azurite
ACCEPT_EULA: "Y"
env:
PLUGINS: azure-event-hubs
SERVICES: azurite,azureeventhubsemulator
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
azure-functions:
strategy:
fail-fast: false
matrix:
spec:
- eventhubs
- client
- servicebus
runs-on: ubuntu-latest
services:
azurite:
image: mcr.microsoft.com/azure-storage/azurite:3.34.0
ports:
- "127.0.0.1:10000:10000"
- "127.0.0.1:10001:10001"
- "127.0.0.1:10002:10002"
azureeventhubsemulator:
image: mcr.microsoft.com/azure-messaging/eventhubs-emulator:2.1.0
ports:
- "127.0.0.1:5673:5672"
- "127.0.0.1:9092:9092"
env:
BLOB_SERVER: azurite
METADATA_SERVER: azurite
ACCEPT_EULA: "Y"
azuresqledge:
image: mcr.microsoft.com/azure-sql-edge:1.0.7
ports:
- "127.0.0.1:1433:1433"
env:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "Localtestpass1!"
azureservicebusemulator:
image: mcr.microsoft.com/azure-messaging/servicebus-emulator:1.1.2
ports:
- "127.0.0.1:5672:5672"
- "127.0.0.1:5300:5300"
env:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "Localtestpass1!"
SQL_SERVER: azuresqledge
env:
PLUGINS: azure-functions
SERVICES: azuresqledge,azureservicebusemulator,azurite,azureeventhubsemulator
SPEC: ${{ matrix.spec }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Copy emulator config files
run: |
docker cp \
${{ github.workspace }}/packages/datadog-plugin-azure-functions/test/fixtures/eventhub-emulator-config.json \
${{ job.services.azureeventhubsemulator.id }}:/Eventhubs_Emulator/ConfigFiles/Config.json
docker cp \
${{ github.workspace }}/packages/datadog-plugin-azure-functions/test/fixtures/servicebus-emulator-config.json \
${{ job.services.azureservicebusemulator.id }}:/ServiceBus_Emulator/ConfigFiles/Config.json
- name: Restart emulators to pick up config changes
run: |
docker restart ${{ job.services.azureeventhubsemulator.id }}
docker restart ${{ job.services.azureservicebusemulator.id }}
- uses: ./.github/actions/node/newest-maintenance-lts
- uses: ./.github/actions/install
- run: npm install -g azure-functions-core-tools@4.3.0
- run: echo "$(dirname $(which func))" >> $GITHUB_PATH
- run: yarn test:plugins:ci
- uses: ./.github/actions/coverage
with:
flags: serverless-azure-functions-${{ matrix.spec }}
- uses: ./.github/actions/push_to_test_optimization
if: "!cancelled()"
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
azure-service-bus:
runs-on: ubuntu-latest
services:
azureservicebusemulator:
image: mcr.microsoft.com/azure-messaging/servicebus-emulator:1.1.2
ports:
- "127.0.0.1:5672:5672"
- "127.0.0.1:5300:5300"
env:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "Localtestpass1!"
SQL_SERVER: azuresqledge
azuresqledge:
image: mcr.microsoft.com/azure-sql-edge:1.0.7
ports:
- "127.0.0.1:1433:1433"
env:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "Localtestpass1!"
options: >-
--health-cmd "bash -c 'exec 3<>/dev/tcp/localhost/1433'"
--health-interval 10s
--health-timeout 5s
--health-retries 10
--health-start-period 60s
env:
PLUGINS: azure-service-bus
SERVICES: azureservicebusemulator,azuresqledge
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Wait for Service Bus emulator to be ready
run: timeout 120 bash -c 'until nc -z localhost 5672; do sleep 3; done'
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
azure-durable-functions:
runs-on: ubuntu-latest
services:
azurite:
image: mcr.microsoft.com/azure-storage/azurite:3.34.0
ports:
- "127.0.0.1:10000:10000"
- "127.0.0.1:10001:10001"
- "127.0.0.1:10002:10002"
env:
PLUGINS: azure-durable-functions
SERVICES: azurite
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/plugins/test
with:
dd_api_key: ${{ secrets.DD_API_KEY }}