feat(ui)!: enhance onAttachmentTap with fallback to default behavior #5620
Workflow file for this run
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: stream_flutter_workflow | |
| env: | |
| ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' | |
| flutter_version: "3.x" | |
| on: | |
| pull_request: | |
| paths: | |
| - 'packages/**' | |
| - 'sample_app/**' | |
| - '.github/workflows/stream_flutter_workflow.yml' | |
| types: | |
| - opened | |
| - reopened | |
| - synchronize | |
| - ready_for_review | |
| push: | |
| branches: | |
| - master | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| analyze: | |
| timeout-minutes: 15 | |
| if: github.event.pull_request.draft == false | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: "Git Checkout" | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: "Install Flutter" | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| flutter-version: ${{ env.flutter_version }} | |
| channel: stable | |
| cache: true | |
| cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }} | |
| - name: "Install Tools" | |
| run: | | |
| flutter pub global activate melos | |
| - name: "Bootstrap Workspace" | |
| run: melos bootstrap --verbose | |
| - name: "Dart Analyze" | |
| run: | | |
| melos run analyze | |
| - name: "Pub Check" | |
| if: github.base_ref == 'master' | |
| run: | | |
| melos run lint:pub | |
| format: | |
| runs-on: ubuntu-latest | |
| if: github.event.pull_request.draft == false | |
| timeout-minutes: 15 | |
| steps: | |
| - name: "Git Checkout" | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: "Install Flutter" | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| flutter-version: ${{ env.flutter_version }} | |
| channel: stable | |
| cache: true | |
| cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }} | |
| - name: "Install Tools" | |
| run: | | |
| flutter pub global activate melos | |
| - name: "Bootstrap Workspace" | |
| run: melos bootstrap | |
| - name: "Melos Format" | |
| run: melos run format | |
| - name: "Validate Formatting" | |
| run: | | |
| ./.github/workflows/scripts/validate-formatting.sh | |
| test: | |
| runs-on: ubuntu-latest | |
| if: github.event.pull_request.draft == false | |
| timeout-minutes: 30 | |
| steps: | |
| - name: "Git Checkout" | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: "Install Flutter" | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| flutter-version: ${{ env.flutter_version }} | |
| channel: stable | |
| cache: true | |
| cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }} | |
| # This step is needed due to https://github.com/actions/runner-images/issues/11279 | |
| - name: Install SQLite3 | |
| run: sudo apt-get update && sudo apt-get install -y sqlite3 libsqlite3-dev | |
| - name: "Install Tools" | |
| run: | | |
| flutter pub global activate melos | |
| flutter pub global activate remove_from_coverage | |
| - name: "Bootstrap Workspace" | |
| run: melos bootstrap | |
| - name: "Flutter Test" | |
| run: melos run test:all | |
| - name: "Collect Coverage" | |
| run: melos run coverage:ignore-file --no-select | |
| - name: "Upload Coverage" | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{secrets.CODECOV_TOKEN}} | |
| files: packages/*/coverage/lcov.info | |
| - name: "Stream Chat Coverage Check" | |
| uses: VeryGoodOpenSource/[email protected] | |
| with: | |
| path: packages/stream_chat/coverage/lcov.info | |
| min_coverage: 70 | |
| - name: "Stream Chat Localizations Coverage Check" | |
| uses: VeryGoodOpenSource/[email protected] | |
| with: | |
| path: packages/stream_chat_localizations/coverage/lcov.info | |
| min_coverage: 100 | |
| - name: "Stream Chat Persistence Coverage Check" | |
| uses: VeryGoodOpenSource/[email protected] | |
| with: | |
| path: packages/stream_chat_persistence/coverage/lcov.info | |
| min_coverage: 95 | |
| - name: "Stream Chat Flutter Core Coverage Check" | |
| uses: VeryGoodOpenSource/[email protected] | |
| with: | |
| path: packages/stream_chat_flutter_core/coverage/lcov.info | |
| min_coverage: 30 | |
| - name: "Stream Chat Flutter Coverage Check" | |
| uses: VeryGoodOpenSource/[email protected] | |
| with: | |
| path: packages/stream_chat_flutter/coverage/lcov.info | |
| min_coverage: 44 | |
| build: | |
| name: build (${{ matrix.platform }}) | |
| runs-on: ${{ matrix.os }} | |
| if: github.event.pull_request.draft == false | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - platform: android | |
| os: ubuntu-latest | |
| working-directory: sample_app/android | |
| build-command: bundle exec fastlane build_apk | |
| - platform: ios | |
| os: macos-15 # Requires xcode 15 or later | |
| working-directory: sample_app/ios | |
| build-command: bundle exec fastlane build_ipa no_codesign:true | |
| steps: | |
| - name: "Git Checkout" | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: "Install Flutter" | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| flutter-version: ${{ env.flutter_version }} | |
| channel: stable | |
| cache: true | |
| cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }} | |
| - name: "Install Tools" | |
| run: flutter pub global activate melos | |
| - name: "Bootstrap Workspace" | |
| run: melos bootstrap | |
| - name: Setup Ruby and Gems | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| working-directory: ${{ matrix.working-directory }} | |
| bundler-cache: true | |
| - name: "Build ${{ matrix.platform }} App" | |
| working-directory: ${{ matrix.working-directory }} | |
| run: ${{ matrix.build-command }} | |
| draft-build: | |
| runs-on: ubuntu-latest | |
| if: github.event.pull_request.draft == true | |
| timeout-minutes: 1 | |
| steps: | |
| - name: Run a one-line script | |
| run: echo Draft PR, you are good. |