Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 41 additions & 12 deletions .circleci/config.continue.yml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -179,9 +179,14 @@ commands:
display_memory_usage:
steps:
- run:
name: Max Memory Used
name: Runner Memory Usage
# The file does not seem to exist when DLC is disabled
command: cat /sys/fs/cgroup/memory/memory.max_usage_in_bytes || true
command: |
# Show cgroupv2 memory usage
printf "cgroup memory.peak: $(cat /sys/fs/cgroup/memory.peak 2>/dev/null || echo 'not found')%s\n"
printf "cgroup memory.max : $(cat /sys/fs/cgroup/memory.max 2>/dev/null || echo 'not found')%s\n"
printf "cgroup memory.high: $(cat /sys/fs/cgroup/memory.high 2>/dev/null || echo 'not found')%s\n"
printf "ram memory : $(grep MemTotal /proc/meminfo | tr -s ' ' | cut -d ' ' -f 2)%s\n"
when: always


Expand Down Expand Up @@ -282,9 +287,11 @@ commands:
jobs:
build:
<<: *defaults
resource_class: xlarge

parameters:
resourceClass:
type: string
default: xlarge
gradleTarget:
type: string
cacheType:
Expand All @@ -296,6 +303,7 @@ jobs:
type: string
default: ".*"

resource_class: << parameters.resourceClass >>
steps:
- setup_code

Expand All @@ -304,15 +312,15 @@ jobs:

- restore_dependency_cache:
cacheType: << parameters.cacheType >>

- run:
name: Build Project
command: >-
{% if is_nightly %}
./gradlew resolveAndLockAll --write-locks &&
./gradlew resolveAndLockAll --write-locks --no-daemon &&
{% endif %}
MAVEN_OPTS="-Xms64M -Xmx256M"
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2560M -Xms2560M -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'"
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2560M -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'"
./gradlew clean
<< parameters.gradleTarget >>
-PskipTests
Expand Down Expand Up @@ -384,6 +392,9 @@ jobs:
<<: *defaults

parameters:
resourceClass:
type: string
default: medium+
parallelism:
type: integer
default: 1
Expand All @@ -395,7 +406,7 @@ jobs:
type: string
default: ".*"

resource_class: medium+
resource_class: << parameters.resourceClass >>

parallelism: << parameters.parallelism >>

Expand Down Expand Up @@ -445,6 +456,8 @@ jobs:
when: on_fail
command: .circleci/cancel_workflow.sh

- display_memory_usage

build_clean_cache:
<<: *defaults

Expand Down Expand Up @@ -493,13 +506,13 @@ jobs:

tests: &tests
<<: *defaults
# since tests use test containers, they will use a Linux VM / Remote Docker executor, so there is no medium+ size
resource_class: large

docker:
- image: << pipeline.parameters.docker_image >>:{{ docker_image_prefix }}<< parameters.testJvm >>

parameters:
resourceClass:
type: string
default: large
environment:
type: string
default: ""
Expand Down Expand Up @@ -535,6 +548,9 @@ jobs:
cacheType:
type: string

# since tests use test containers, they will use a Linux VM / Remote Docker executor, so there is no medium+ size
resource_class: << parameters.resourceClass >>

parallelism: << parameters.parallelism >>

steps:
Expand Down Expand Up @@ -652,13 +668,18 @@ jobs:
exit 1
fi

# TODO: merge xlarge_tests and tests? or rename this?
xlarge_tests:
<<: *tests

docker:
# The first image listed in your configuration for a job is referred to as the primary container image
# and this is where all steps in the job will run. Secondary containers can also be specified to run
# alongside for running services, such as, databases.
- image: << pipeline.parameters.docker_image >>:{{ docker_image_prefix }}<< parameters.testJvm >>
environment:
- CI_USE_TEST_AGENT=true

- image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.11.0
environment:
- LOG_LEVEL=DEBUG
Expand All @@ -667,8 +688,6 @@ jobs:
- DD_POOL_TRACE_CHECK_FAILURES=true
- DD_DISABLE_ERROR_RESPONSES=true
- ENABLED_CHECKS=trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
# TODO: merge xlarge_tests and tests? or rename this?
resource_class: large


# The only way to do fan-in in CircleCI seems to have a proper job, so let's have one that
Expand Down Expand Up @@ -969,15 +988,18 @@ build_test_jobs: &build_test_jobs
cacheType: base
- build:
name: build_inst
resourceClass: 2xlarge
gradleTarget: :instrumentationTest
cacheType: inst
triggeredBy: *instrumentation_modules
- build:
name: build_latestdep
resourceClass: 2xlarge
gradleTarget: :instrumentationLatestDepTest
cacheType: latestdep
- build:
name: build_smoke
resourceClass: 2xlarge
gradleTarget: :smokeTest
cacheType: smoke
- build:
Expand All @@ -1001,13 +1023,15 @@ build_test_jobs: &build_test_jobs
requires:
- ok_to_test
name: check_base
resourceClass: large
gradleTarget: ":baseCheck"
cacheType: base

- check:
requires:
- ok_to_test
name: check_inst
resourceClass: 2xlarge
parallelism: 5
gradleTarget: ":instrumentationCheck"
cacheType: inst
Expand All @@ -1017,6 +1041,7 @@ build_test_jobs: &build_test_jobs
requires:
- ok_to_test
name: check_smoke
resourceClass: large
gradleTarget: ":smokeCheck"
cacheType: smoke

Expand Down Expand Up @@ -1075,6 +1100,7 @@ build_test_jobs: &build_test_jobs
requires:
- ok_to_test
name: z_test_<< matrix.testJvm >>_inst
resourceClass: xlarge
gradleTarget: ":instrumentationTest"
gradleParameters: "-PskipFlakyTests"
triggeredBy: *instrumentation_modules
Expand Down Expand Up @@ -1103,6 +1129,7 @@ build_test_jobs: &build_test_jobs
- ok_to_test
- build_latestdep
name: test_8_inst_latest
resourceClass: xlarge
gradleTarget: ":instrumentationLatestDepTest"
gradleParameters: "-PskipFlakyTests"
triggeredBy: *instrumentation_modules
Expand All @@ -1117,6 +1144,7 @@ build_test_jobs: &build_test_jobs
- ok_to_test
- build_latestdep
name: test_17_inst_latest
resourceClass: xlarge
gradleTarget: ":instrumentationLatestDepTest"
gradleParameters: "-PskipFlakyTests"
triggeredBy: *instrumentation_modules
Expand Down Expand Up @@ -1304,6 +1332,7 @@ build_test_jobs: &build_test_jobs
requires:
- ok_to_test
name: z_test_8_smoke
resourceClass: xlarge
gradleTarget: "stageMainDist :smokeTest"
gradleParameters: "-PskipFlakyTests"
stage: smoke
Expand Down
Loading