From ebb5f30398617b7e0fc91063701def7f5da079d7 Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Thu, 24 Jul 2025 10:51:18 +1200 Subject: [PATCH 1/4] Disable Profiler_MultipleProfiles_Works in CI (flaky) #skip-changelog --- test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs b/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs index c5aa9a83ed..0e2b41a0d9 100644 --- a/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs +++ b/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs @@ -146,6 +146,8 @@ private void Profiler_SingleProfile_Works(int startTimeoutSeconds) [InlineData(10)] public void Profiler_MultipleProfiles_Works(int startTimeoutSeconds) { + Skip.If(TestEnvironment.IsGitHubActions, "Flaky in CI"); + using var factory = new SamplingTransactionProfilerFactory(_testSentryOptions, TimeSpan.FromSeconds(startTimeoutSeconds)); // in the async startup case, we need to wait before collecting if (startTimeoutSeconds == 0) From 2e90deed828e4c17208790519bac24814b992cc4 Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Wed, 20 Aug 2025 21:17:52 +1200 Subject: [PATCH 2/4] Skip Profiler_WithZeroStartupTimeout_CapturesAfterStartingAsynchronously on targets as well --- .../SamplingTransactionProfilerTests.cs | 3 +++ test/Sentry.Testing/TestEnvironment.cs | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs b/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs index 5f1cda4176..a4d71d617d 100644 --- a/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs +++ b/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs @@ -117,6 +117,9 @@ private SampleProfile CaptureAndValidate(ITransactionProfilerFactory factory) [SkippableFact] public void Profiler_WithZeroStartupTimeout_CapturesAfterStartingAsynchronously() { + Skip.If(TestEnvironment.IsGitHubActions && (TestEnvironment.IsWinX64 || TestEnvironment.IsLinux), + "Flaky in CI on Windows X64 and Linux."); + using var factory = new SamplingTransactionProfilerFactory(_testSentryOptions, TimeSpan.Zero); var profiler = factory.Start(new TransactionTracer(Substitute.For(), "test", ""), CancellationToken.None); Assert.Null(profiler); diff --git a/test/Sentry.Testing/TestEnvironment.cs b/test/Sentry.Testing/TestEnvironment.cs index a674533ae1..c091acfef8 100644 --- a/test/Sentry.Testing/TestEnvironment.cs +++ b/test/Sentry.Testing/TestEnvironment.cs @@ -15,4 +15,9 @@ public static bool IsGitHubActions return isGitHubActions?.Equals("true", StringComparison.OrdinalIgnoreCase) == true; } } + + public static bool IsWinX64 => RuntimeInformation.OSArchitecture == Architecture.X64 + && RuntimeInformation.OSDescription.Contains("Windows"); + + public static bool IsLinux => RuntimeInformation.OSDescription.Contains("Linux"); } From 3a71784d251148976a038d16e13226c5fe79ea08 Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Thu, 21 Aug 2025 11:34:16 +1200 Subject: [PATCH 3/4] . --- test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs | 2 +- test/Sentry.Testing/TestEnvironment.cs | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs b/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs index a4d71d617d..3f01c67541 100644 --- a/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs +++ b/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs @@ -117,7 +117,7 @@ private SampleProfile CaptureAndValidate(ITransactionProfilerFactory factory) [SkippableFact] public void Profiler_WithZeroStartupTimeout_CapturesAfterStartingAsynchronously() { - Skip.If(TestEnvironment.IsGitHubActions && (TestEnvironment.IsWinX64 || TestEnvironment.IsLinux), + Skip.If(TestEnvironment.IsGitHubActions && (TestEnvironment.IsWinX64 || RuntimeInformation.IsOSPlatform(OSPlatform.Linux)), "Flaky in CI on Windows X64 and Linux."); using var factory = new SamplingTransactionProfilerFactory(_testSentryOptions, TimeSpan.Zero); diff --git a/test/Sentry.Testing/TestEnvironment.cs b/test/Sentry.Testing/TestEnvironment.cs index c091acfef8..15249e8c34 100644 --- a/test/Sentry.Testing/TestEnvironment.cs +++ b/test/Sentry.Testing/TestEnvironment.cs @@ -18,6 +18,4 @@ public static bool IsGitHubActions public static bool IsWinX64 => RuntimeInformation.OSArchitecture == Architecture.X64 && RuntimeInformation.OSDescription.Contains("Windows"); - - public static bool IsLinux => RuntimeInformation.OSDescription.Contains("Linux"); } From 8dcdbee997c70c2ea289c123aaf05cf825512f1c Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Thu, 21 Aug 2025 13:13:12 +1200 Subject: [PATCH 4/4] . --- .../SamplingTransactionProfilerTests.cs | 7 +++++-- test/Sentry.Testing/TestEnvironment.cs | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs b/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs index 3f01c67541..468ff45a62 100644 --- a/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs +++ b/test/Sentry.Profiling.Tests/SamplingTransactionProfilerTests.cs @@ -117,8 +117,11 @@ private SampleProfile CaptureAndValidate(ITransactionProfilerFactory factory) [SkippableFact] public void Profiler_WithZeroStartupTimeout_CapturesAfterStartingAsynchronously() { - Skip.If(TestEnvironment.IsGitHubActions && (TestEnvironment.IsWinX64 || RuntimeInformation.IsOSPlatform(OSPlatform.Linux)), - "Flaky in CI on Windows X64 and Linux."); + if (TestEnvironment.IsGitHubActions) + { + Skip.If(TestEnvironment.IsWinX64, "Flaky in CI on Windows X64."); + Skip.If(RuntimeInformation.IsOSPlatform(OSPlatform.Linux), "Flaky in CI on Linux."); + } using var factory = new SamplingTransactionProfilerFactory(_testSentryOptions, TimeSpan.Zero); var profiler = factory.Start(new TransactionTracer(Substitute.For(), "test", ""), CancellationToken.None); diff --git a/test/Sentry.Testing/TestEnvironment.cs b/test/Sentry.Testing/TestEnvironment.cs index 15249e8c34..1c2763b439 100644 --- a/test/Sentry.Testing/TestEnvironment.cs +++ b/test/Sentry.Testing/TestEnvironment.cs @@ -16,6 +16,6 @@ public static bool IsGitHubActions } } - public static bool IsWinX64 => RuntimeInformation.OSArchitecture == Architecture.X64 - && RuntimeInformation.OSDescription.Contains("Windows"); + public static bool IsWinX64 => RuntimeInformation.IsOSPlatform(OSPlatform.Windows) + && RuntimeInformation.OSArchitecture == Architecture.X64; }