Skip to content

replay: add sensitive content widget to default masking #11632

replay: add sensitive content widget to default masking

replay: add sensitive content widget to default masking #11632

Workflow file for this run

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