From ba2b8d09b73f4db7e2b2db628d607823d7cf2b56 Mon Sep 17 00:00:00 2001 From: Bruno Garcia Date: Tue, 10 Feb 2026 00:21:35 -0500 Subject: [PATCH 1/2] ci: Only run device tests on PRs that touch mobile-related code Replace broad `paths-ignore: ["**.md"]` with explicit `paths` filters on both Android and iOS device test workflows. PRs that only touch non-mobile code (ASP.NET, Blazor, logging integrations, etc.) will no longer trigger expensive emulator/simulator tests. Device tests still always run on push to main/release branches as a safety net. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/device-tests-android.yml | 30 ++++++++++++++++++++-- .github/workflows/device-tests-ios.yml | 30 ++++++++++++++++++++-- 2 files changed, 56 insertions(+), 4 deletions(-) diff --git a/.github/workflows/device-tests-android.yml b/.github/workflows/device-tests-android.yml index a3fa287e15..fbd168b437 100644 --- a/.github/workflows/device-tests-android.yml +++ b/.github/workflows/device-tests-android.yml @@ -6,8 +6,34 @@ on: - main - release/* pull_request: - paths-ignore: - - "**.md" + paths: + # Core SDK (transitive dependency of all mobile packages) + - 'src/Sentry/**' + - 'src/Sentry.Extensions.Logging/**' + # Mobile-specific packages + - 'src/Sentry.Maui/**' + - 'src/Sentry.Maui.CommunityToolkit.Mvvm/**' + - 'src/Sentry.Bindings.Android/**' + - 'src/Sentry.Bindings.Cocoa/**' + - 'src/Sentry.Android.AssemblyReader/**' + # Device test app and test projects that run on device + - 'test/Sentry.Maui.Device.TestApp/**' + - 'test/Sentry.Tests/**' + - 'test/Sentry.Extensions.Logging.Tests/**' + - 'test/Sentry.Maui.Tests/**' + - 'test/Sentry.Maui.CommunityToolkit.Mvvm.Tests/**' + - 'test/Sentry.Android.AssemblyReader.Tests/**' + - 'test/Sentry.Testing/**' + # Integration tests + - 'integration-test/android.Tests.ps1' + - 'integration-test/ios.Tests.ps1' + - 'integration-test/net9-maui/**' + # Scripts, native modules, and CI + - 'scripts/device-test.ps1' + - 'scripts/device-test-utils.ps1' + - 'modules/sentry-native/**' + - '.github/workflows/device-tests-android.yml' + - '.github/actions/**' workflow_dispatch: jobs: diff --git a/.github/workflows/device-tests-ios.yml b/.github/workflows/device-tests-ios.yml index 0ce20b789c..da15ab89b8 100644 --- a/.github/workflows/device-tests-ios.yml +++ b/.github/workflows/device-tests-ios.yml @@ -6,8 +6,34 @@ on: - main - release/* pull_request: - paths-ignore: - - "**.md" + paths: + # Core SDK (transitive dependency of all mobile packages) + - 'src/Sentry/**' + - 'src/Sentry.Extensions.Logging/**' + # Mobile-specific packages + - 'src/Sentry.Maui/**' + - 'src/Sentry.Maui.CommunityToolkit.Mvvm/**' + - 'src/Sentry.Bindings.Android/**' + - 'src/Sentry.Bindings.Cocoa/**' + - 'src/Sentry.Android.AssemblyReader/**' + # Device test app and test projects that run on device + - 'test/Sentry.Maui.Device.TestApp/**' + - 'test/Sentry.Tests/**' + - 'test/Sentry.Extensions.Logging.Tests/**' + - 'test/Sentry.Maui.Tests/**' + - 'test/Sentry.Maui.CommunityToolkit.Mvvm.Tests/**' + - 'test/Sentry.Android.AssemblyReader.Tests/**' + - 'test/Sentry.Testing/**' + # Integration tests + - 'integration-test/android.Tests.ps1' + - 'integration-test/ios.Tests.ps1' + - 'integration-test/net9-maui/**' + # Scripts, native modules, and CI + - 'scripts/device-test.ps1' + - 'scripts/device-test-utils.ps1' + - 'modules/sentry-native/**' + - '.github/workflows/device-tests-ios.yml' + - '.github/actions/**' workflow_dispatch: jobs: From 835075ac69c1d3aef1b90a94f1579e45dd16f592 Mon Sep 17 00:00:00 2001 From: Bruno Garcia Date: Tue, 10 Feb 2026 00:53:03 -0500 Subject: [PATCH 2/2] ci: Add missing paths from review feedback Add paths identified by review bots: - Build config: global.json, Directory.Build.props/targets, nuget.config - Source generator: src/Sentry.Compiler.Extensions/** - Native libs: lib/sentrysupplemental/**, lib/sentry-android-supplemental/** - Cocoa modules: modules/sentry-cocoa/**, modules/sentry-cocoa.properties - Test app: test/AndroidTestApp/** - Integration helpers: integration-test/common.ps1, integration-test/Directory.Build.* Co-Authored-By: Claude Opus 4.6 --- .github/workflows/device-tests-android.yml | 18 ++++++++++++++++-- .github/workflows/device-tests-ios.yml | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/.github/workflows/device-tests-android.yml b/.github/workflows/device-tests-android.yml index fbd168b437..b37cef0a6d 100644 --- a/.github/workflows/device-tests-android.yml +++ b/.github/workflows/device-tests-android.yml @@ -10,6 +10,7 @@ on: # Core SDK (transitive dependency of all mobile packages) - 'src/Sentry/**' - 'src/Sentry.Extensions.Logging/**' + - 'src/Sentry.Compiler.Extensions/**' # Mobile-specific packages - 'src/Sentry.Maui/**' - 'src/Sentry.Maui.CommunityToolkit.Mvvm/**' @@ -24,14 +25,27 @@ on: - 'test/Sentry.Maui.CommunityToolkit.Mvvm.Tests/**' - 'test/Sentry.Android.AssemblyReader.Tests/**' - 'test/Sentry.Testing/**' + - 'test/AndroidTestApp/**' # Integration tests - 'integration-test/android.Tests.ps1' - 'integration-test/ios.Tests.ps1' - 'integration-test/net9-maui/**' - # Scripts, native modules, and CI + - 'integration-test/common.ps1' + - 'integration-test/Directory.Build.*' + # Native libraries and modules + - 'lib/sentrysupplemental/**' + - 'lib/sentry-android-supplemental/**' + - 'modules/sentry-native/**' + - 'modules/sentry-cocoa/**' + - 'modules/sentry-cocoa.properties' + # Build configuration (affects all builds) + - 'global.json' + - 'Directory.Build.props' + - 'Directory.Build.targets' + - 'nuget.config' + # Scripts and CI - 'scripts/device-test.ps1' - 'scripts/device-test-utils.ps1' - - 'modules/sentry-native/**' - '.github/workflows/device-tests-android.yml' - '.github/actions/**' workflow_dispatch: diff --git a/.github/workflows/device-tests-ios.yml b/.github/workflows/device-tests-ios.yml index da15ab89b8..5bd010d2f0 100644 --- a/.github/workflows/device-tests-ios.yml +++ b/.github/workflows/device-tests-ios.yml @@ -10,6 +10,7 @@ on: # Core SDK (transitive dependency of all mobile packages) - 'src/Sentry/**' - 'src/Sentry.Extensions.Logging/**' + - 'src/Sentry.Compiler.Extensions/**' # Mobile-specific packages - 'src/Sentry.Maui/**' - 'src/Sentry.Maui.CommunityToolkit.Mvvm/**' @@ -24,14 +25,27 @@ on: - 'test/Sentry.Maui.CommunityToolkit.Mvvm.Tests/**' - 'test/Sentry.Android.AssemblyReader.Tests/**' - 'test/Sentry.Testing/**' + - 'test/AndroidTestApp/**' # Integration tests - 'integration-test/android.Tests.ps1' - 'integration-test/ios.Tests.ps1' - 'integration-test/net9-maui/**' - # Scripts, native modules, and CI + - 'integration-test/common.ps1' + - 'integration-test/Directory.Build.*' + # Native libraries and modules + - 'lib/sentrysupplemental/**' + - 'lib/sentry-android-supplemental/**' + - 'modules/sentry-native/**' + - 'modules/sentry-cocoa/**' + - 'modules/sentry-cocoa.properties' + # Build configuration (affects all builds) + - 'global.json' + - 'Directory.Build.props' + - 'Directory.Build.targets' + - 'nuget.config' + # Scripts and CI - 'scripts/device-test.ps1' - 'scripts/device-test-utils.ps1' - - 'modules/sentry-native/**' - '.github/workflows/device-tests-ios.yml' - '.github/actions/**' workflow_dispatch: