From 3be302d69f02f72be54655d8c5ec3776ee6dcf58 Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Mon, 13 Apr 2026 02:38:28 +0200 Subject: [PATCH] feat: set sentry environment per distribution channel --- .github/workflows/build.yml | 15 ++++++++------- android/fastlane/Fastfile | 4 ++-- ios/fastlane/Fastfile | 2 +- lib/main.dart | 2 ++ 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8cbe778d..751497f5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,6 +6,7 @@ on: env: SENTRY_DART_DEFINE: ${{ github.repository == 'edde746/plezy' && '--dart-define=ENABLE_SENTRY=true' || '' }} GIT_COMMIT_DART_DEFINE: --dart-define=GIT_COMMIT=${{ github.sha }} + SENTRY_ENV_DART_DEFINE: --dart-define=SENTRY_ENVIRONMENT=github jobs: build-android: @@ -62,7 +63,7 @@ jobs: EOF - name: Build APKs - run: flutter build apk --release --split-per-abi --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} + run: flutter build apk --release --split-per-abi --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} - name: Clean up keystore if: always() @@ -130,7 +131,7 @@ jobs: run: flutter pub get - name: Build iOS (no codesign) - run: flutter build ios --release --no-codesign --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} + run: flutter build ios --release --no-codesign --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} - name: Create IPA run: | @@ -188,7 +189,7 @@ jobs: run: flutter pub get - name: Build macOS - run: flutter build macos --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} + run: flutter build macos --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} - name: Import Code Signing Certificate env: @@ -339,7 +340,7 @@ jobs: run: flutter pub get - name: Build Windows x64 - run: flutter build windows --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} + run: flutter build windows --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} - name: Upload x64 build uses: actions/upload-artifact@v4 @@ -376,7 +377,7 @@ jobs: run: flutter pub get - name: Build Windows arm64 - run: flutter build windows --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} + run: flutter build windows --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} - name: Upload arm64 build uses: actions/upload-artifact@v4 @@ -520,7 +521,7 @@ jobs: run: flutter pub get - name: Build Linux x64 - run: flutter build linux --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} + run: flutter build linux --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} env: PKG_CONFIG_PATH: ${{ github.workspace }}/libmpv-prefix/lib/pkgconfig:${{ github.workspace }}/libmpv-prefix/lib/x86_64-linux-gnu/pkgconfig @@ -628,7 +629,7 @@ jobs: run: flutter pub get - name: Build Linux arm64 - run: flutter build linux --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} + run: flutter build linux --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} env: PKG_CONFIG_PATH: ${{ github.workspace }}/libmpv-prefix/lib/pkgconfig:${{ github.workspace }}/libmpv-prefix/lib/aarch64-linux-gnu/pkgconfig diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile index 079da6e5..627989e5 100644 --- a/android/fastlane/Fastfile +++ b/android/fastlane/Fastfile @@ -23,7 +23,7 @@ platform :android do git_commit = `git rev-parse --short HEAD`.strip # Build the Flutter app - sh("cd #{ENV['PWD']}/.. && flutter build appbundle --dart-define=ENABLE_IN_APP_REVIEW=true --dart-define=ENABLE_SENTRY=true --dart-define=GIT_COMMIT=#{git_commit} --obfuscate --split-debug-info=#{debug_info_dir}/aab") + sh("cd #{ENV['PWD']}/.. && flutter build appbundle --dart-define=ENABLE_IN_APP_REVIEW=true --dart-define=ENABLE_SENTRY=true --dart-define=GIT_COMMIT=#{git_commit} --dart-define=SENTRY_ENVIRONMENT=play-store --obfuscate --split-debug-info=#{debug_info_dir}/aab") upload_to_play_store( track: "production", @@ -33,7 +33,7 @@ platform :android do ) # Build universal APK for Amazon Appstore (doesn't accept AABs, excludes x86 via env var) - sh("cd #{ENV['PWD']}/.. && AMAZON=1 flutter build apk --release --dart-define=ENABLE_SENTRY=true --dart-define=GIT_COMMIT=#{git_commit} --obfuscate --split-debug-info=#{debug_info_dir}/apk") + sh("cd #{ENV['PWD']}/.. && AMAZON=1 flutter build apk --release --dart-define=ENABLE_SENTRY=true --dart-define=GIT_COMMIT=#{git_commit} --dart-define=SENTRY_ENVIRONMENT=amazon --obfuscate --split-debug-info=#{debug_info_dir}/apk") upload_to_amazon_appstore( apk_paths: [ diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index fd9fe32a..cce5c357 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -9,7 +9,7 @@ platform :ios do git_commit = `git rev-parse --short HEAD`.strip # Build the Flutter app - sh("cd #{ENV['PWD']}/.. && flutter build ipa --dart-define=ENABLE_IN_APP_REVIEW=true --dart-define=ENABLE_SENTRY=true --dart-define=GIT_COMMIT=#{git_commit}") + sh("cd #{ENV['PWD']}/.. && flutter build ipa --dart-define=ENABLE_IN_APP_REVIEW=true --dart-define=ENABLE_SENTRY=true --dart-define=GIT_COMMIT=#{git_commit} --dart-define=SENTRY_ENVIRONMENT=app-store") # Upload to App Store upload_to_app_store( diff --git a/lib/main.dart b/lib/main.dart index df554b71..324049f3 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -56,6 +56,7 @@ import 'package:package_info_plus/package_info_plus.dart'; const bool _enableSentry = bool.fromEnvironment('ENABLE_SENTRY', defaultValue: false); const String gitCommit = String.fromEnvironment('GIT_COMMIT'); +const String _sentryEnvironment = String.fromEnvironment('SENTRY_ENVIRONMENT'); const String _plexTokenDefine = String.fromEnvironment('PLEX_TOKEN'); // Workaround for Flutter bug #177992: iPadOS 26.1+ misinterprets fake touch events @@ -87,6 +88,7 @@ Future main() async { options.release = gitCommit.isNotEmpty ? 'plezy@${gitCommit.substring(0, 7)}' : 'plezy@${packageInfo.version}+${packageInfo.buildNumber}'; + if (_sentryEnvironment.isNotEmpty) options.environment = _sentryEnvironment; options.tracesSampleRate = 0; options.attachStacktrace = true; options.enableAutoSessionTracking = false;