From 1b5fb4712a32d72f6e7616b331b7fb2e70f10e77 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Mon, 11 May 2026 16:10:58 +0200 Subject: [PATCH 1/5] feat: upgrade install script version to include custom java url --- README.md | 22 ++++++++++++++++++++-- action.yml | 12 ++++++++++-- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4465af1..7e34ab7 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,8 @@ The action has the following parameters: | Name | Description | Required | Default | | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------- | | languages | List of languages to be instrumented. Can be either "all" or any of "java", "js", "python", "dotnet", "ruby", "go" (multiple languages can be specified as a space-separated list). | true | | -| api_key | Datadog API key. Can be found at https://app.datadoghq.com/organization-settings/api-keys | true | | -| site | Datadog site. See https://docs.datadoghq.com/getting_started/site for more information about sites. | false | datadoghq.com | +| api_key | Datadog API key. Can be found at | true | | +| site | Datadog site. See for more information about sites. | false | datadoghq.com | | service | The name of the service or library being tested. | false | | | dotnet-tracer-version | The version of Datadog .NET tracer to use. Defaults to the latest release. | false | | | java-tracer-version | The version of Datadog Java tracer to use. Defaults to the latest release. | false | | @@ -50,6 +50,8 @@ The action has the following parameters: | go-tracer-version | The version of Orchestrion to use. Defaults to the latest release. | false | | | go-module-dir | Path to the Go module root directory to instrument. Use this when the repository contains multiple Go modules or the Go module is not in the workspace root. | false | | | java-instrumented-build-system | If provided, only the specified build systems will be instrumented (allowed values are `gradle`,`maven`,`sbt`,`ant`,`all`). `all` is a special value that instruments every Java process. If this property is not provided, all known build systems will be instrumented (Gradle, Maven, SBT, Ant). | false | | +| java-tracer-repository-url | Base URL of a Maven repository (or proxy/mirror, e.g. JFrog Artifactory) used to download the Java tracer JAR and its sha256. The path under the base must follow the standard Maven layout for `com.datadoghq:dd-java-agent`. Defaults to Maven Central. | false | | +| java-tracer-repository-auth-header | Optional HTTP header used to authenticate against `java-tracer-repository-url`, provided as a complete `Name: Value` string (e.g. `Authorization: Bearer `). Only used when `java-tracer-repository-url` is set. | false | | | cache | Enable caching of downloaded tracers. | false | true | | print-github-step-summary | Print a summary of the installed tracers to the GitHub step summary. If set to false, the summary is printed to console instead. | false | true | @@ -66,6 +68,22 @@ Any [additional configuration values](https://docs.datadoghq.com/tracing/trace_c DD_TAGS: layer:api,team:intake,key:value ``` +### Using a Maven mirror or proxy for the Java tracer + +By default the Java tracer JAR is fetched from Maven Central (`https://repo1.maven.org/maven2`). Organizations with their own mirror or proxy (such as JFrog Artifactory) can point the action at it to avoid Maven Central rate limits: + +```yaml +- name: Configure Datadog Test Optimization + uses: datadog/test-visibility-github-action@v2 + with: + languages: java + api_key: ${{ secrets.DD_API_KEY }} + java-tracer-repository-url: https://artifactory.example.com/maven-virtual/com/datadoghq/dd-java-agent + java-tracer-repository-auth-header: Authorization: Bearer ${{ secrets.ARTIFACTORY_TOKEN }} +``` + +The base URL must expose the standard Maven layout for `com.datadoghq:dd-java-agent` (i.e. `//dd-java-agent-.jar` and the matching `.sha256`, plus `/maven-metadata.xml` when no `java-tracer-version` is pinned). The `.sha256` files are still verified. + ### Go multi-module repositories If your repository contains multiple Go modules, or the Go module you want to instrument is not at the workspace root, set `go-module-dir` to the module root directory that contains the target `go.mod` file: diff --git a/action.yml b/action.yml index 2b416f7..338aa20 100644 --- a/action.yml +++ b/action.yml @@ -44,6 +44,12 @@ inputs: java-instrumented-build-system: description: 'If provided, only the specified build systems will be instrumented (allowed values are `gradle` and `maven`). Otherwise every Java process will be instrumented.' required: false + java-tracer-repository-url: + description: 'Base URL of a Maven repository (or proxy/mirror, e.g. JFrog Artifactory) to download the Java tracer JAR and its sha256 from. The path under the base must follow the standard Maven layout for `com.datadoghq:dd-java-agent`. Defaults to Maven Central.' + required: false + java-tracer-repository-auth-header: + description: 'Optional HTTP header used to authenticate against `java-tracer-repository-url`, provided as a complete `Name: Value` string (e.g. `Authorization: Bearer `). Only used when `java-tracer-repository-url` is set.' + required: false cache: description: 'Enable caching (optional). Defaults to true.' required: false @@ -75,8 +81,8 @@ runs: echo "$GITHUB_ACTION_PATH" >> $GITHUB_PATH shell: bash env: - INSTALLATION_SCRIPT_URL: https://install.datadoghq.com/scripts/install_test_visibility_v13.sh - INSTALLATION_SCRIPT_CHECKSUM: 1271425bc94d25ff771111802f1b010104f3a9245bd491b67f1be561529f6b89 + INSTALLATION_SCRIPT_URL: https://install.datadoghq.com/scripts/install_test_visibility_v14.sh + INSTALLATION_SCRIPT_CHECKSUM: 1271425bc94d25ff771111802f1b010104f3a9245bd491b67f1be561529f6b89 # TODO: update for v14 GITHUB_ACTION_PATH: ${{ github.action_path }} - name: Get Go cache directories @@ -160,6 +166,8 @@ runs: DD_SET_TRACER_VERSION_GO: ${{ inputs.go-tracer-version }} DD_CIVISIBILITY_GO_MODULE_DIR: ${{ inputs.go-module-dir }} DD_INSTRUMENTATION_BUILD_SYSTEM_JAVA: ${{ inputs.java-instrumented-build-system }} + DD_SET_TRACER_REPOSITORY_URL_JAVA: ${{ inputs.java-tracer-repository-url }} + DD_SET_AUTH_HEADER_JAVA: ${{ inputs.java-tracer-repository-auth-header }} - name: Propagate optional site input to environment variable if: "${{ inputs.site != '' }}" From 91bff93c7230e52f128a426f4fbf100e2fac7072 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Tue, 12 May 2026 11:42:01 +0200 Subject: [PATCH 2/5] chore: update install script checksum --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 338aa20..5ac008c 100644 --- a/action.yml +++ b/action.yml @@ -82,7 +82,7 @@ runs: shell: bash env: INSTALLATION_SCRIPT_URL: https://install.datadoghq.com/scripts/install_test_visibility_v14.sh - INSTALLATION_SCRIPT_CHECKSUM: 1271425bc94d25ff771111802f1b010104f3a9245bd491b67f1be561529f6b89 # TODO: update for v14 + INSTALLATION_SCRIPT_CHECKSUM: 73824cfac695ed17177b4a2fc0b9afb3b19b639d27a20166190bf8997248423b GITHUB_ACTION_PATH: ${{ github.action_path }} - name: Get Go cache directories From 2b918e36a23b5d499d5cf26b990af6ddeb4019ff Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Tue, 12 May 2026 12:15:54 +0200 Subject: [PATCH 3/5] chore: update readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7e34ab7..43e3f43 100644 --- a/README.md +++ b/README.md @@ -50,8 +50,8 @@ The action has the following parameters: | go-tracer-version | The version of Orchestrion to use. Defaults to the latest release. | false | | | go-module-dir | Path to the Go module root directory to instrument. Use this when the repository contains multiple Go modules or the Go module is not in the workspace root. | false | | | java-instrumented-build-system | If provided, only the specified build systems will be instrumented (allowed values are `gradle`,`maven`,`sbt`,`ant`,`all`). `all` is a special value that instruments every Java process. If this property is not provided, all known build systems will be instrumented (Gradle, Maven, SBT, Ant). | false | | -| java-tracer-repository-url | Base URL of a Maven repository (or proxy/mirror, e.g. JFrog Artifactory) used to download the Java tracer JAR and its sha256. The path under the base must follow the standard Maven layout for `com.datadoghq:dd-java-agent`. Defaults to Maven Central. | false | | -| java-tracer-repository-auth-header | Optional HTTP header used to authenticate against `java-tracer-repository-url`, provided as a complete `Name: Value` string (e.g. `Authorization: Bearer `). Only used when `java-tracer-repository-url` is set. | false | | +| java-tracer-repository-url | Base URL of a Maven repository (or proxy/mirror) used to download the Java tracer JAR and its sha256. The path under the base must follow the standard Maven layout for `com.datadoghq:dd-java-agent`. Defaults to Maven Central. | false | | +| java-tracer-repository-auth-header | Optional HTTP header used to authenticate against `java-tracer-repository-url`, provided as a complete `Name: Value` string (e.g. `Authorization: Bearer `). Only used when `java-tracer-repository-url` is set. Redirects are not followed when this option is set. | false | | | cache | Enable caching of downloaded tracers. | false | true | | print-github-step-summary | Print a summary of the installed tracers to the GitHub step summary. If set to false, the summary is printed to console instead. | false | true | From be4f39f6d6b884bd2a41bcf2416e9f5cc7013447 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Tue, 12 May 2026 12:17:42 +0200 Subject: [PATCH 4/5] chore: more readme updates --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 43e3f43..c695e19 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ Any [additional configuration values](https://docs.datadoghq.com/tracing/trace_c ### Using a Maven mirror or proxy for the Java tracer -By default the Java tracer JAR is fetched from Maven Central (`https://repo1.maven.org/maven2`). Organizations with their own mirror or proxy (such as JFrog Artifactory) can point the action at it to avoid Maven Central rate limits: +By default the Java tracer JAR is fetched from Maven Central (`https://repo1.maven.org/maven2`). Organizations with their own mirror or proxy can point the action at it: ```yaml - name: Configure Datadog Test Optimization From 4fbc6dac664939e20966be8c0845f2c08cfccf1c Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Tue, 12 May 2026 12:24:40 +0200 Subject: [PATCH 5/5] chore: update input descriptions --- action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index 5ac008c..f3e915d 100644 --- a/action.yml +++ b/action.yml @@ -45,10 +45,10 @@ inputs: description: 'If provided, only the specified build systems will be instrumented (allowed values are `gradle` and `maven`). Otherwise every Java process will be instrumented.' required: false java-tracer-repository-url: - description: 'Base URL of a Maven repository (or proxy/mirror, e.g. JFrog Artifactory) to download the Java tracer JAR and its sha256 from. The path under the base must follow the standard Maven layout for `com.datadoghq:dd-java-agent`. Defaults to Maven Central.' + description: 'Base URL of a Maven repository (or proxy/mirror) used to download the Java tracer JAR and its sha256. The path under the base must follow the standard Maven layout for `com.datadoghq:dd-java-agent`. Defaults to Maven Central.' required: false java-tracer-repository-auth-header: - description: 'Optional HTTP header used to authenticate against `java-tracer-repository-url`, provided as a complete `Name: Value` string (e.g. `Authorization: Bearer `). Only used when `java-tracer-repository-url` is set.' + description: 'Optional HTTP header used to authenticate against `java-tracer-repository-url`, provided as a complete `Name: Value` string (e.g. `Authorization: Bearer `). Only used when `java-tracer-repository-url` is set. Redirects are not followed when this option is set.' required: false cache: description: 'Enable caching (optional). Defaults to true.'