Merge develop into feature/continuous-profiling#3618
Conversation
Split detekt safe calls into two files
…iewscope Fix issue with RumViewScope caused by merge
…eaking RUM-16470: Cleanup ahead of the API 37 support
Add FFE SDK owners to flag module Co-authored-by: leoromanovsky <[email protected]>
…t time computation
Since we have a limited size of Mac runners, kill off pipeline jobs for PRs if a newer commit is pushed
RUM-14050: Cancel stale PR pipeline runs in Gitlab
RUM-15483: Fix clock mismatch in DefaultAppStartTimeProvider app start time computation
- Add setup-gradle snippet that centralizes all Gradle config by appending to gradle.properties at job setup time, replacing per-job GRADLE_OPTS boilerplate across all jobs - Unify JVM memory to -Xmx4096m for all jobs (was inconsistently 3072m or 4096m per-job) - Remove get_secret gradle.properties injection from publishing/sample jobs - Remove --build-cache flags (redundant with org.gradle.caching=true in gradle.properties) - Remove rm -rf ~/.gradle/daemon/ from all jobs since jobs get a new container and we don't cache it - Fix cache cleanup to only run on test:kover (the only cache-push job) via GRADLE_CACHE_CLEANUP variable, disabled on all pull-only jobs - Fix unzipAarForDetekt task to declare its dependency on bundleReleaseAar using provider-based wiring instead of a hardcoded output path - Drop `kotlin.incremental=true` due to it is already the default - Enable parallel mode, disable it for jobs that invoke tasks that can't run in parallel mode
…ions RUM-14050: Improve Gradle usage in Gitlab
…ky-test Fix `FileMoverTest` flaky test
…t-patterns RUM-16634: Add wildcard host pattern matching to `WebViewTracking`
Co-authored-by: Héctor Abraham Morillo Prieto <[email protected]>
RUM-17079: Sign the CI image
RUM-17092: Add UK1 site
When dd-java-agent is attached to the Gradle daemon (introduced in #3583 via setup-gradle), it instruments classes at load time for source code profiling, injecting references to datadog.compiler.annotations. SourceLines and datadog.compiler.annotations.SourcePath into bytecode. R8 then sees these references but can't find the annotation class definitions in the build classpath, causing a hard failure in every publish-benchmark-synthetics (and potentially other synthetics) CI job since that PR merged. Add -dontwarn rules for datadog.compiler.annotations.** in the benchmark and kotlin sample proguard files so R8 ignores these agent-injected annotation references. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
…nt-annotations RUM-14050: Fix R8 missing class error caused by dd-javac-plugin annotations
…elop RUM-14050: Disable auto-cancel on develop and feature branches
* Events created in RumActionScopeTest were using the real time so they were failing under high CPU * Also fix the missing resource key test setup not making sense since the key.toString for the resource key had no relation to the key so the null-ing was irrelevant and the assert statement at the end impossible to fail
…eTest Fix RumActionScopeTest tests failing under high CPU load
…er-session-expired Fix TTFD report during warm start after session expiration
RUM-17158: Add telemetry attributes for TTFD/TTID too large
…wners chore(codeowners): fix stale FFE team handle for flags module
6b4a5a8 to
7fa64c3
Compare
f8e287e to
a8d04af
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7fa64c35cf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - docker buildx build --tag $CI_IMAGE_DOCKER -f ./ci/Dockerfile.gitlab --push . | ||
| - METADATA_FILE=$(mktemp) | ||
| - docker buildx build --tag $CI_IMAGE_DOCKER -f ./ci/Dockerfile.gitlab --push --metadata-file ${METADATA_FILE} . | ||
| - ddsign sign $CI_IMAGE_DOCKER --docker-metadata-file ${METADATA_FILE} |
There was a problem hiding this comment.
Install ddsign in the CI-image job environment
In the ci-image workflow I checked, the job runs in 486234852809.dkr.ecr.us-east-1.amazonaws.com/docker:24.0.4-jammy, while the new Dockerfile change only copies ddsign into the image being built. This command executes outside that newly built image, so on the manual CI image build it will fail with ddsign: command not found after the push unless the job image itself provides the binary or the signing step runs from an image that contains it.
Useful? React with 👍 / 👎.
| if (subModuleTaskName in subProject.tasks.names) { | ||
| dependsOn(subProject.tasks.named(subModuleTaskName)) |
There was a problem hiding this comment.
Preserve aggregate task dependencies
When the root build registers aggregate tasks such as unitTestDebugFeatures, unitTestDebugIntegrations, lintCheckAll, and assembleLibraries*, most subproject build scripts have not registered their variant tasks yet, so this membership check is false and no dependency is added. I checked the GitLab test:debug job and it invokes these root aggregate tasks directly, which means feature/integration tests can become no-op jobs instead of running the submodule test tasks; keep the lazy string dependency or add dependencies after subprojects are evaluated.
Useful? React with 👍 / 👎.
| script: | ||
| - !reference [.snippets, set-publishing-credentials] | ||
| - ./gradlew publishToSonatype closeSonatypeStagingRepository --stacktrace --no-daemon | ||
| - !reference [.snippets, setup-gradle] |
There was a problem hiding this comment.
Don’t publish artifacts under the CI javaagent
On develop and tag publishes, this now runs the Sonatype publication with setup-gradle, which injects the Datadog Java agent into every Gradle JVM. The same commit had to add -dontwarn datadog.compiler.annotations.** to sample ProGuard files because that agent injects annotation references that are not on the classpath, but no SDK consumer ProGuard rule was added; if the published AARs are built under this agent, downstream apps that shrink with R8 can fail on those missing datadog.compiler.annotations classes. Keep the agent out of the publish build or ship the suppression as a consumer rule.
Useful? React with 👍 / 👎.
a8d04af to
4713719
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 471371907c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| System.gc() | ||
| assertThat(keyRef.get()) | ||
| .describedAs("resource key should have been garbage collected by now") | ||
| .isNull() |
There was a problem hiding this comment.
Avoid relying on immediate GC in this test
On CI JVMs where explicit GC is disabled or simply does not collect this object immediately, System.gc() is only a hint, so the new keyRef.get() assertion can fail even though the resource-key weak-reference behavior is correct. This makes the unit test nondeterministic; use a bounded polling/await helper or assert the scope behavior without requiring a particular GC cycle.
Useful? React with 👍 / 👎.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## feature/continuous-profiling #3618 +/- ##
================================================================
+ Coverage 72.91% 73.14% +0.23%
================================================================
Files 999 996 -3
Lines 37112 36301 -811
Branches 6195 6130 -65
================================================================
- Hits 27059 26552 -507
+ Misses 8343 8036 -307
- Partials 1710 1713 +3
🚀 New features to boost your workflow:
|
What does this PR do?
Merge develop into feature/continuous-profiling
Review checklist (to be filled by reviewers)