Skip to content

Commit

Permalink
Add more smoke testing for .NET 9 (#6296)
Browse files Browse the repository at this point in the history
## Summary of changes

- Unskip the .NET 9 crashtracking tests by using workaround
- Test more .NET 9 distros

## Reason for change

We want to run smoke tests on supported distros

## Implementation details

We had to disable the crash tracking tests for the .NET 9 smoke tests on
debian x64 because they would hang ([due to a bug in the
runtime](dotnet/runtime#109779 (comment)),
not related to our instrumentation). That issue mentions that using
`--init` solves the issue, so added that as a temporary fix and the
crash tracking tests pass (so can unskip them)

Also added testing for 
- `fedora:40` (~x64~ and arm64) - x64 is still using rc2 currently
- `rhel:8` and `rhel:9`
- ~`centos-stream:9`~ still using preview 7
- `opensuse:15`

## Test coverage

More now - [did a full installer run
here](https://dev.azure.com/datadoghq/dd-trace-dotnet/_build/results?buildId=167973&view=results).

## Other details

This doesn't cover _all_ the supported distros, but it's a good start
  • Loading branch information
andrewlock authored Nov 18, 2024
1 parent 43ad231 commit 24c84a5
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 13 deletions.
11 changes: 10 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: '3.4'
services:
# ARM64 dependencies
localstack_arm64:
Expand Down Expand Up @@ -844,6 +843,7 @@ services:
# - PUBLISH_FRAMEWORK=
# - INSTALL_CMD=
image: dd-trace-dotnet/${dockerTag:-not-set}-tester
init: true # Without this, crash tests hang, see https://github.com/dotnet/runtime/issues/109779
volumes:
- ./:/project
- ./artifacts/build_data/logs:/var/log/datadog/dotnet
Expand All @@ -867,6 +867,7 @@ services:
# - RELATIVE_PROFILER_PATH=
# - RELATIVE_API_WRAPPER_PATH=
image: dd-trace-dotnet/${dockerTag:-not-set}-nuget-tester
init: true # Without this, crash tests hang, see https://github.com/dotnet/runtime/issues/109779
volumes:
- ./:/project
- ./artifacts/build_data/logs:/var/log/datadog/dotnet
Expand All @@ -890,6 +891,7 @@ services:
# - RELATIVE_PROFILER_PATH=
# - RELATIVE_API_WRAPPER_PATH=
image: dd-trace-dotnet/${dockerTag:-not-set}-nuget-tester
init: true # Without this, crash tests hang, see https://github.com/dotnet/runtime/issues/109779
volumes:
- ./:/project
- ./artifacts/build_data/logs:/var/log/datadog/dotnet
Expand All @@ -911,6 +913,7 @@ services:
# - PUBLISH_FRAMEWORK=
# - TOOL_VERSION=
image: dd-trace-dotnet/${dockerTag:-not-set}-dotnet-tool-tester
init: true # Without this, crash tests hang, see https://github.com/dotnet/runtime/issues/109779
volumes:
- ./:/project
- ./artifacts/build_data/logs:/var/log/datadog/dotnet
Expand All @@ -932,6 +935,7 @@ services:
# - PUBLISH_FRAMEWORK=
# - INSTALL_CMD=
image: dd-trace-dotnet/${dockerTag:-not-set}-dotnet-tool-self-instrument-tester
init: true # Without this, crash tests hang, see https://github.com/dotnet/runtime/issues/109779
volumes:
- ./:/project
- ./artifacts/build_data/logs:/var/log/datadog/dotnet
Expand All @@ -953,6 +957,7 @@ services:
# - PUBLISH_FRAMEWORK=
# - TOOL_VERSION=
image: dd-trace-dotnet/${dockerTag:-not-set}-dotnet-tool-nuget-tester
init: true # Without this, crash tests hang, see https://github.com/dotnet/runtime/issues/109779
volumes:
- ./:/project
- ./artifacts/build_data/logs:/var/log/datadog/dotnet
Expand All @@ -974,6 +979,7 @@ services:
# - PUBLISH_FRAMEWORK=
# - INSTALL_CMD=
image: dd-trace-dotnet/${dockerTag:-not-set}-dd-dotnet-tester
init: true # Without this, crash tests hang, see https://github.com/dotnet/runtime/issues/109779
volumes:
- ./:/project
- ./artifacts/build_data/logs:/var/log/datadog/dotnet
Expand All @@ -995,6 +1001,7 @@ services:
# - RUNTIME_IMAGE=
# - PUBLISH_FRAMEWORK=
image: dd-trace-dotnet/${dockerTag:-not-set}-chiseled-tester
init: true # Without this, crash tests hang, see https://github.com/dotnet/runtime/issues/109779
volumes:
- ./:/project
- ./artifacts/build_data/logs:/var/log/datadog/dotnet
Expand All @@ -1017,6 +1024,7 @@ services:
# - PUBLISH_FRAMEWORK=
# - RUNTIME_ID=
image: dd-trace-dotnet/${dockerTag:-not-set}-dd-dotnet-chiseled-tester
init: true # Without this, crash tests hang, see https://github.com/dotnet/runtime/issues/109779
volumes:
- ./:/project
- ./artifacts/build_data/logs:/var/log/datadog/dotnet
Expand All @@ -1039,6 +1047,7 @@ services:
# - PUBLISH_FRAMEWORK=
# - RUNTIME_ID=
image: dd-trace-dotnet/${dockerTag:-not-set}-dd-dotnet-arm64-chiseled-tester
init: true # Without this, crash tests hang, see https://github.com/dotnet/runtime/issues/109779
volumes:
- ./:/project
- ./artifacts/build_data/logs:/var/log/datadog/dotnet
Expand Down
29 changes: 17 additions & 12 deletions tracer/build/_build/Build.VariableGenerations.cs
Original file line number Diff line number Diff line change
Expand Up @@ -433,9 +433,8 @@ void GenerateLinuxInstallerSmokeTestsMatrix()
"debian",
new SmokeTestImage[]
{
// FIXME: .NET 9 crash tracking hangs on x64 debian, we should investigate and enable this ASAP
new (publishFramework: TargetFramework.NET9_0, "9.0-noble", runCrashTest: false),
new (publishFramework: TargetFramework.NET9_0, "9.0-bookworm-slim", runCrashTest: false),
new (publishFramework: TargetFramework.NET9_0, "9.0-noble"),
new (publishFramework: TargetFramework.NET9_0, "9.0-bookworm-slim"),
new (publishFramework: TargetFramework.NET8_0, "8.0-bookworm-slim"),
new (publishFramework: TargetFramework.NET8_0, "8.0-jammy"),
new (publishFramework: TargetFramework.NET7_0, "7.0-bullseye-slim"),
Expand All @@ -461,6 +460,7 @@ void GenerateLinuxInstallerSmokeTestsMatrix()
"fedora",
new SmokeTestImage[]
{
// new (publishFramework: TargetFramework.NET9_0, "40-9.0"), // Not updated to GA .NET 9 yet
new (publishFramework: TargetFramework.NET7_0, "35-7.0"),
new (publishFramework: TargetFramework.NET6_0, "34-6.0"),
new (publishFramework: TargetFramework.NET5_0, "35-5.0"),
Expand Down Expand Up @@ -556,6 +556,8 @@ void GenerateLinuxInstallerSmokeTestsMatrix()
"rhel",
new SmokeTestImage[]
{
new (publishFramework: TargetFramework.NET9_0, "9-9.0"),
new (publishFramework: TargetFramework.NET9_0, "8-9.0"),
new (publishFramework: TargetFramework.NET7_0, "8-7.0"),
new (publishFramework: TargetFramework.NET6_0, "8-6.0"),
new (publishFramework: TargetFramework.NET5_0, "8-5.0"),
Expand All @@ -573,7 +575,7 @@ void GenerateLinuxInstallerSmokeTestsMatrix()
"centos-stream",
new SmokeTestImage[]
{
// (publishFramework: TargetFramework.NET7_0, "9-7.0"), Not updated from RC1 yet
// new (publishFramework: TargetFramework.NET9_0, "9-9.0"), // Not updated to GA .NET 9 yet
new (publishFramework: TargetFramework.NET6_0, "9-6.0"),
new (publishFramework: TargetFramework.NET6_0, "8-6.0"),
new (publishFramework: TargetFramework.NET5_0, "8-5.0"),
Expand All @@ -591,6 +593,7 @@ void GenerateLinuxInstallerSmokeTestsMatrix()
"opensuse",
new SmokeTestImage[]
{
new (publishFramework: TargetFramework.NET9_0, "15-9.0"),
new (publishFramework: TargetFramework.NET7_0, "15-7.0"),
new (publishFramework: TargetFramework.NET6_0, "15-6.0"),
new (publishFramework: TargetFramework.NET5_0, "15-5.0"),
Expand Down Expand Up @@ -618,9 +621,8 @@ void GenerateLinuxChiseledInstallerSmokeTestsMatrix()
"debian",
new SmokeTestImage[]
{
// FIXME: .NET 9 crash tracking hangs on x64 debian, we should investigate and enable this ASAP
new (publishFramework: TargetFramework.NET9_0, "9.0-noble-chiseled", runCrashTest: false),
new (publishFramework: TargetFramework.NET9_0, "9.0-noble-chiseled-composite", runCrashTest: false),
new (publishFramework: TargetFramework.NET9_0, "9.0-noble-chiseled"),
new (publishFramework: TargetFramework.NET9_0, "9.0-noble-chiseled-composite"),
new (publishFramework: TargetFramework.NET8_0, "8.0-jammy-chiseled"),
new (publishFramework: TargetFramework.NET8_0, "8.0-jammy-chiseled-composite"),
},
Expand All @@ -645,8 +647,7 @@ void GenerateLinuxSmokeTestsArm64Matrix()
"debian",
new SmokeTestImage[]
{
// FIXME: .NET 9 crash tracking hangs on x64 debian, we should investigate and enable this ASAP
new (publishFramework: TargetFramework.NET9_0, "9.0-noble", runCrashTest: false),
new (publishFramework: TargetFramework.NET9_0, "9.0-noble"),
new (publishFramework: TargetFramework.NET8_0, "8.0-bookworm-slim"),
new (publishFramework: TargetFramework.NET7_0, "7.0-bullseye-slim"),
new (publishFramework: TargetFramework.NET6_0, "6.0-bullseye-slim"),
Expand All @@ -667,6 +668,7 @@ void GenerateLinuxSmokeTestsArm64Matrix()
"fedora",
new SmokeTestImage[]
{
new (publishFramework: TargetFramework.NET9_0, "40-9.0"),
new (publishFramework: TargetFramework.NET7_0, "35-7.0"),
new (publishFramework: TargetFramework.NET6_0, "34-6.0"),
// https://github.com/dotnet/runtime/issues/66707
Expand Down Expand Up @@ -771,9 +773,8 @@ void GenerateLinuxNuGetSmokeTestsMatrix()
"debian",
new SmokeTestImage[]
{
// FIXME: .NET 9 crash tracking hangs on x64 debian, we should investigate and enable this ASAP
new (publishFramework: TargetFramework.NET9_0, "9.0-bookworm-slim", runCrashTest: false),
new (publishFramework: TargetFramework.NET9_0, "9.0-noble", runCrashTest: false),
new (publishFramework: TargetFramework.NET9_0, "9.0-bookworm-slim"),
new (publishFramework: TargetFramework.NET9_0, "9.0-noble"),
new (publishFramework: TargetFramework.NET8_0, "8.0-bookworm-slim"),
new (publishFramework: TargetFramework.NET8_0, "8.0-jammy"),
new (publishFramework: TargetFramework.NET7_0, "7.0-bullseye-slim"),
Expand All @@ -792,6 +793,7 @@ void GenerateLinuxNuGetSmokeTestsMatrix()
"fedora",
new SmokeTestImage[]
{
// new (publishFramework: TargetFramework.NET9_0, "40-9.0"), // Not updated to GA .NET 9 yet
new (publishFramework: TargetFramework.NET7_0, "35-7.0"),
new (publishFramework: TargetFramework.NET6_0, "34-6.0"),
new (publishFramework: TargetFramework.NET5_0, "33-5.0"),
Expand Down Expand Up @@ -844,6 +846,7 @@ void GenerateLinuxNuGetSmokeTestsMatrix()
"opensuse",
new SmokeTestImage[]
{
new (publishFramework: TargetFramework.NET7_0, "15-9.0"),
new (publishFramework: TargetFramework.NET7_0, "15-7.0"),
new (publishFramework: TargetFramework.NET6_0, "15-6.0"),
new (publishFramework: TargetFramework.NET5_0, "15-5.0"),
Expand Down Expand Up @@ -961,6 +964,7 @@ void GenerateLinuxDotnetToolSmokeTestsMatrix()
"fedora",
new SmokeTestImage[]
{
// new (publishFramework: TargetFramework.NET9_0, "40-9.0"), // Not updated to GA .NET 9 yet
new (publishFramework: TargetFramework.NET7_0, "35-7.0"),
new (publishFramework: TargetFramework.NET6_0, "34-6.0"),
new (publishFramework: TargetFramework.NET5_0, "33-5.0"),
Expand Down Expand Up @@ -1010,6 +1014,7 @@ void GenerateLinuxDotnetToolSmokeTestsMatrix()
"opensuse",
new SmokeTestImage[]
{
new (publishFramework: TargetFramework.NET9_0, "15-9.0"),
new (publishFramework: TargetFramework.NET7_0, "15-7.0"),
new (publishFramework: TargetFramework.NET6_0, "15-6.0"),
new (publishFramework: TargetFramework.NET5_0, "15-5.0"),
Expand Down

0 comments on commit 24c84a5

Please sign in to comment.