Skip to content

feat: upgrade the script to installer v12#21

Merged
tonyredondo merged 1 commit intomainfrom
codex/upgrade-installer-v12
Mar 25, 2026
Merged

feat: upgrade the script to installer v12#21
tonyredondo merged 1 commit intomainfrom
codex/upgrade-installer-v12

Conversation

@tonyredondo
Copy link
Copy Markdown
Member

Summary

  • upgrade the GitLab wrapper from the v11 installer script to v12 and update the pinned checksum
  • add an optional GO_MODULE_DIR input path and pass it through as DD_CIVISIBILITY_GO_MODULE_DIR
  • document the new Go multi-module configuration and ignore .DS_Store
  • add a GitLab CI Go smoke matrix that exercises the v12 installer behavior

Go CI Matrix

The GitLab CI configuration now covers these Go scenarios:

  • root module, project go 1.24
  • root module, project go 1.25
  • root module, project go 1.22
  • root module, runner below the supported minimum for the selected flow
  • single nested module, project go 1.24, auto-detected
  • single nested module, project go 1.25, auto-detected
  • multiple Go modules without GO_MODULE_DIR
  • multiple Go modules with a valid GO_MODULE_DIR
  • invalid GO_MODULE_DIR pointing to a missing directory

The successful Go jobs run go test -v ./... with DD_TRACE_DEBUG=true so the job logs include both verbose test output and tracer debug output.

Bug Fix Coverage

This mirrors the v12 upgrade and Go coverage added in DataDog/test-visibility-github-action#60 for the same installer behavior.

In particular, it adds CI coverage for fresh Go 1.24 modules, which is the shape involved in DataDog/orchestrion#806, plus equivalent coverage for a single nested Go 1.24 module and the new multi-module selection flow.

Verification

  • parsed .gitlab-ci.yml successfully
  • verified script.sh passes bash -n
  • verified the live install_test_visibility_v12.sh script matches the pinned SHA-256 checksum
  • confirmed the live v12 installer reads DD_CIVISIBILITY_GO_MODULE_DIR
  • ran the live GitLab wrapper against temporary Go workspaces and verified these cases locally:
    • root go 1.24 success
    • root go 1.25 success
    • root go 1.22 skip
    • single nested module go 1.24 auto-detected success
    • multiple modules without GO_MODULE_DIR skip with guidance
    • multiple modules with GO_MODULE_DIR success
    • invalid GO_MODULE_DIR skip with an error message

Notes

  • the invalid GO_MODULE_DIR case currently logs an error and skips Go instrumentation, but the wrapper still exits successfully because that is the live v12 installer behavior
  • I could not run the Linux containerized CI jobs locally because docker pull fails on this machine with error creating temporary lease: write /var/lib/desktop-containerd/daemon/io.containerd.metadata.v1.bolt/meta.db: input/output error

@tonyredondo tonyredondo requested a review from a team as a code owner March 25, 2026 18:36
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 54f843fc76

ℹ️ 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".

Comment on lines +15 to +16
set -euo pipefail
LANGUAGES="java" SERVICE="my-service" API_KEY="dummy" JAVA_INSTRUMENTED_BUILD_SYSTEM="all" source <(cat script.sh)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove nounset when sourcing script.sh in CI jobs

Running the wrapper under set -u causes these jobs to fail before any assertions, because script.sh reads optional vars like SITE/DD_SITE and GO_MODULE_DIR using direct expansions ("$VAR") and exits with unbound variable when they are unset. In this commit both test_java_script and .go_smoke_test enable set -euo pipefail and then source the script, so the pipeline aborts immediately (for example: /dev/fd/63: line 25: SITE: unbound variable) instead of exercising installer behavior.

Useful? React with 👍 / 👎.

@tonyredondo tonyredondo merged commit ed72d89 into main Mar 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants