Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: setup smoke tests #2441

Merged
merged 25 commits into from
Dec 18, 2023
Merged

ci: setup smoke tests #2441

merged 25 commits into from
Dec 18, 2023

Conversation

Julio-Guerra
Copy link
Contributor

@Julio-Guerra Julio-Guerra commented Dec 17, 2023

What does this PR do?

This makes sure that the "standard and most common" way of compiling and deploying Go apps is working when using dd-trace-go.

Add a new test app called setup-smoke-test which sets up dd-trace-go and all its products on a basic net/http server.
The Dockerfile is a parameterized multi-stage Dockerfile with docker args and multiple targets allowing us to cover the main setup of our users we do not want to ever break:

  • golang docker image being used, with a matrix of:
    • go version
    • distribution: alpine or debian.
    • with or without go mod vendor
    • with or without CGO
    • alpine with gcc and the C librray headers
  • deployment docker image with a matrix of:
    • bare alpine (musl-based distrib)
    • bare docker (glibc-based distrib)
    • alpine with libc6-compat
    • amazonlinux
    • docker's scratch image

Motivation

Avoid compilation and/or deployment breaking changes. This makes sure that the "standard and most common" way of compiling and deploying Go apps is working when using dd-trace-go.

Reviewer's Checklist

  • Changed code has unit tests for its functionality at or near 100% coverage.
  • System-Tests covering this feature have been added and enabled with the va.b.c-dev version tag.
  • There is a benchmark for any new code, or changes to existing code.
  • If this interacts with the agent in a new way, a system test has been added.
  • Add an appropriate team label so this PR gets put in the right place for the release notes.

For Datadog employees:

  • If this PR touches code that handles credentials of any kind, such as Datadog API keys, I've requested a review from @DataDog/security-design-and-guidance.
  • This PR doesn't touch any of that.

Unsure? Have a question? Request a review!

@pr-commenter
Copy link

pr-commenter bot commented Dec 17, 2023

Benchmarks

Benchmark execution time: 2023-12-18 12:10:47

Comparing candidate commit 7bb1949 in PR branch julio.guerra/setup-smoke-tests with baseline commit e44bd72 in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 39 metrics, 2 unstable metrics.

@Julio-Guerra Julio-Guerra changed the title ci: setup smoke test app ci: setup smoke tests Dec 17, 2023
@Julio-Guerra Julio-Guerra marked this pull request as ready for review December 18, 2023 08:15
@Julio-Guerra Julio-Guerra requested a review from a team as a code owner December 18, 2023 08:15
@Julio-Guerra Julio-Guerra merged commit 7e72b4e into main Dec 18, 2023
154 checks passed
@Julio-Guerra Julio-Guerra deleted the julio.guerra/setup-smoke-tests branch December 18, 2023 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants