replay: add sensitive content widget to default masking #11632
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: sentry-flutter | |
on: | |
push: | |
branches: | |
- main | |
- release/** | |
pull_request: | |
paths: | |
- '.github/workflows/flutter.yml' | |
- '.github/workflows/analyze.yml' | |
- '.github/actions/flutter-test/**' | |
- '.github/actions/coverage/**' | |
- '!**/*.md' | |
- '!**/class-diagram.svg' | |
- 'packages/dart/**' | |
- 'packages/flutter/**' | |
- 'metrics/flutter.properties' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: '${{ matrix.target }} | ${{ matrix.os }} | ${{ matrix.sdk }}' | |
runs-on: ${{ matrix.os == 'macos' && 'macos-15' || matrix.os == 'ubuntu' && 'ubuntu-latest' || matrix.os == 'windows' && 'windows-latest' }} | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
target: [android, ios, macos, linux, windows, js, wasm] | |
sdk: [stable, beta] | |
include: | |
- target: android | |
os: ubuntu | |
- target: ios | |
os: macos | |
- target: macos | |
os: macos | |
- target: linux | |
os: ubuntu | |
- target: windows | |
os: windows | |
- target: js | |
os: ubuntu | |
- target: wasm | |
os: ubuntu | |
exclude: | |
# Flutter WASM tests don't compile on beta currently. | |
# We can re-enable when it is fixed by Flutter. | |
# https://github.com/getsentry/sentry-dart/pull/3003 | |
- target: wasm | |
sdk: beta | |
steps: | |
- uses: actions/checkout@v5 | |
- uses: ./.github/actions/flutter-test | |
with: | |
directory: packages/flutter | |
- uses: ./.github/actions/coverage | |
if: matrix.target == 'linux' && matrix.sdk == 'stable' | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
directory: packages/flutter | |
coverage: sentry_flutter | |
min-coverage: 90 | |
# QuickFix for failing iOS 18.0 builds https://github.com/actions/runner-images/issues/12758#issuecomment-3187115656 | |
- name: Switch to Xcode 16.4 for iOS 18.5 | |
if: matrix.os == 'macos' | |
run: sudo xcode-select --switch /Applications/Xcode_16.4.app | |
- name: Build example for ${{ matrix.target }} | |
# The example currently doesn't support compiling for WASM. Should be OK once we add package:web in v9. | |
if: matrix.target != 'wasm' | |
working-directory: packages/flutter/example | |
shell: bash | |
run: | | |
flutter config --enable-windows-desktop | |
flutter config --enable-macos-desktop | |
flutter config --enable-linux-desktop | |
TARGET=${{ matrix.target }} | |
flutter pub get | |
case $TARGET in | |
ios) | |
flutter build ios --no-codesign | |
;; | |
macos) | |
flutter build macos | |
;; | |
android) | |
flutter build appbundle | |
;; | |
js) | |
flutter build web | |
;; | |
linux) | |
flutter build linux | |
;; | |
windows) | |
flutter build windows | |
;; | |
esac | |
spm: | |
name: 'SPM' | |
runs-on: macos-15 | |
timeout-minutes: 30 | |
defaults: | |
run: | |
shell: bash | |
working-directory: packages/flutter/example | |
strategy: | |
fail-fast: false | |
matrix: | |
target: [ios, macos] | |
steps: | |
- uses: actions/checkout@v5 | |
- uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # [email protected] | |
with: | |
channel: main | |
- run: flutter config --enable-swift-package-manager | |
# QuickFix for failing iOS 18.0 builds https://github.com/actions/runner-images/issues/12758#issuecomment-3187115656 | |
- name: Switch to Xcode 16.4 for iOS 18.5 | |
run: sudo xcode-select --switch /Applications/Xcode_16.4.app | |
- name: Run on iOS | |
if: matrix.target == 'ios' | |
run: flutter build ios --no-codesign | |
- name: Run on macOS | |
if: matrix.target == 'macos' | |
run: flutter build macos | |
analyze: | |
uses: ./.github/workflows/analyze.yml | |
with: | |
package: packages/flutter | |
sdk: flutter | |
panaThreshold: 87 | |
pod-lint: | |
runs-on: macos-15 | |
timeout-minutes: 20 | |
defaults: | |
run: | |
working-directory: packages/flutter | |
steps: | |
- uses: actions/checkout@v5 | |
# https://github.com/CocoaPods/CocoaPods/issues/5275#issuecomment-315461879 | |
# QuickFix for failing iOS 18.0 builds https://github.com/actions/runner-images/issues/12758#issuecomment-3187115656 | |
- name: Switch to Xcode 16.4 for iOS 18.5 | |
run: sudo xcode-select --switch /Applications/Xcode_16.4.app | |
- run: pod lib lint ios/sentry_flutter.podspec --configuration=Debug --skip-import-validation --allow-warnings --verbose | |
swift-lint: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
defaults: | |
run: | |
working-directory: packages/flutter | |
steps: | |
- uses: actions/checkout@v5 | |
- uses: norio-nomura/action-swiftlint@9f4dcd7fd46b4e75d7935cf2f4df406d5cae3684 # [email protected] | |
with: | |
args: --strict | |
ktlint: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
defaults: | |
run: | |
working-directory: packages/flutter | |
steps: | |
- uses: actions/checkout@v5 | |
- name: ktlint | |
uses: ScaCap/action-ktlint@26c5e9b625966139d9956cbbb6217375480d4e14 # [email protected] | |
with: | |
github_token: ${{ secrets.github_token }} | |
reporter: github-pr-review | |
android: true | |
fail_on_error: true | |
detekt: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@v5 | |
# To recreate baseline run: detekt -i packages/flutter/android,packages/flutter/example/android -b packages/flutter/config/detekt-bl.xml -cb | |
- uses: natiginfo/action-detekt-all@45229fbbe47eaff1160b6c956d7ffe14dc23c206 # [email protected] | |
with: | |
args: -i packages/flutter/android,packages/flutter/example/android --baseline packages/flutter/config/detekt-bl.xml --jvm-target 1.8 --build-upon-default-config --all-rules |