Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions .github/actions/setup-flutter/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# limitations under the License.

name: "Setup Flutter Environment"
description: "Sets up Flutter, Java (optional), and installs project dependencies"
description: "Sets up Flutter and Java (optional)"

inputs:
java-version:
Expand All @@ -24,6 +24,10 @@ inputs:
description: "Flutter channel to use"
required: false
default: "stable"
flutter-version:
description: "Flutter version to pin (empty = latest on channel)"
required: false
default: ""

runs:
using: "composite"
Expand All @@ -39,7 +43,4 @@ runs:
uses: subosito/flutter-action@v2
with:
channel: ${{ inputs.flutter-channel }}

- name: Install project dependencies
shell: bash
run: flutter pub get
flutter-version: ${{ inputs.flutter-version }}
153 changes: 144 additions & 9 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ jobs:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
- name: Resolve dependencies
run: flutter pub get
- name: Dart Format Check
run: dart format . --set-exit-if-changed

Expand All @@ -42,6 +44,8 @@ jobs:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
- name: Resolve dependencies
run: flutter pub get
- name: Import Sorter Check
run: dart run import_sorter:main --no-comments --exit-if-changed

Expand All @@ -53,53 +57,112 @@ jobs:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
- name: Resolve dependencies
run: flutter pub get
- name: Check version consistency
run: dart run scripts/check_version.dart

dart-analyze-check:
name: Dart Analyze Check
name: Dart Analyze Check (${{ matrix.label }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- label: "3.27.0"
flutter-version: "3.27.0"
pub-command: downgrade
- label: "Latest"
flutter-version: ""
pub-command: get

steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
flutter-version: ${{ matrix.flutter-version }}
- name: Resolve dependencies
run: flutter pub ${{ matrix.pub-command }}
- name: Dart Analyze Check
run: flutter analyze

dart-test-check:
name: Dart Test Check
name: Dart Test Check (${{ matrix.label }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- label: "3.27.0"
flutter-version: "3.27.0"
pub-command: downgrade
- label: "Latest"
flutter-version: ""
pub-command: get

steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
flutter-version: ${{ matrix.flutter-version }}
- name: Resolve dependencies
run: flutter pub ${{ matrix.pub-command }}
- name: Dart Test Check
run: flutter test

build-for-android:
name: Build for Flutter Android
name: Build for Flutter Android (${{ matrix.label }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- label: "3.27.0"
flutter-version: "3.27.0"
pub-command: downgrade
- label: "Latest"
flutter-version: ""
pub-command: get

steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
java-version: "17.x"
flutter-version: ${{ matrix.flutter-version }}
- name: Resolve example dependencies
working-directory: ./example
run: flutter pub ${{ matrix.pub-command }}
- name: Build for Android
working-directory: ./example
run: flutter build apk

build-for-ios:
name: Build for Flutter iOS
name: Build for Flutter iOS (${{ matrix.label }})
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
include:
- label: "3.27.0"
flutter-version: "3.27.0"
pub-command: downgrade
- label: "Latest"
flutter-version: ""
pub-command: get

steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
flutter-version: ${{ matrix.flutter-version }}
- name: Resolve example dependencies
working-directory: ./example
run: flutter pub ${{ matrix.pub-command }}
- name: Ensure iOS SDK is available
run: |
if xcodebuild -showsdks | grep -q "iphoneos"; then
Expand All @@ -112,39 +175,83 @@ jobs:
run: flutter build ios --release --no-codesign

build-for-windows:
name: Build for Flutter Windows
name: Build for Flutter Windows (${{ matrix.label }})
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- label: "3.27.0"
flutter-version: "3.27.0"
pub-command: downgrade
- label: "Latest"
flutter-version: ""
pub-command: get

steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
flutter-version: ${{ matrix.flutter-version }}
- name: Resolve example dependencies
working-directory: ./example
run: flutter pub ${{ matrix.pub-command }}
- name: Build for Windows
working-directory: ./example
run: flutter build windows --release

build-for-macos:
name: Build for Flutter macOS
name: Build for Flutter macOS (${{ matrix.label }})
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
include:
- label: "3.27.0"
flutter-version: "3.27.0"
pub-command: downgrade
- label: "Latest"
flutter-version: ""
pub-command: get

steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
flutter-version: ${{ matrix.flutter-version }}
- name: Resolve example dependencies
working-directory: ./example
run: flutter pub ${{ matrix.pub-command }}
- name: Build for macOS
working-directory: ./example
run: flutter build macos --release

build-for-linux:
name: Build for Flutter Linux
name: Build for Flutter Linux (${{ matrix.label }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- label: "3.27.0"
flutter-version: "3.27.0"
pub-command: downgrade
- label: "Latest"
flutter-version: ""
pub-command: get

steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
java-version: "17.x"
flutter-version: ${{ matrix.flutter-version }}
- name: Resolve example dependencies
working-directory: ./example
run: flutter pub ${{ matrix.pub-command }}
- name: Run apt update
run: sudo apt-get update
- name: Install ninja-build libgtk-3-dev
Expand All @@ -154,29 +261,57 @@ jobs:
run: flutter build linux

build-for-web:
name: Build for Flutter Web
name: Build for Flutter Web (${{ matrix.label }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- label: "3.27.0"
flutter-version: "3.27.0"
pub-command: downgrade
- label: "Latest"
flutter-version: ""
pub-command: get

steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
java-version: "17.x"
flutter-version: ${{ matrix.flutter-version }}
- name: Resolve example dependencies
working-directory: ./example
run: flutter pub ${{ matrix.pub-command }}
- name: Build for Web
working-directory: ./example
run: flutter build web

build-for-web-wasm:
name: Build for Flutter Web WASM
name: Build for Flutter Web WASM (${{ matrix.label }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- label: "3.27.0"
flutter-version: "3.27.0"
pub-command: downgrade
- label: "Latest"
flutter-version: ""
pub-command: get

steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
java-version: "17.x"
flutter-version: ${{ matrix.flutter-version }}
- name: Resolve example dependencies
working-directory: ./example
run: flutter pub ${{ matrix.pub-command }}
- name: Build for Web
working-directory: ./example
run: flutter build web --wasm
3 changes: 3 additions & 0 deletions .github/workflows/changeset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ jobs:

- uses: ./.github/actions/setup-flutter

- name: Resolve dependencies
run: flutter pub get

- name: Detect breaking changes
id: breaking
run: |
Expand Down
4 changes: 2 additions & 2 deletions example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ dependencies:
path: ../

dependency_overrides:
# Pin packages that use Apple APIs unavailable on CI runner's Xcode version.
# Pin packages that use Apple APIs unavailable on CI runner's Xcode version, while allowing the Flutter floor to resolve 11.x.
connectivity_plus: '>=7.0.0 <7.1.0' # NWPath.isUltraConstrained
device_info_plus: '>=12.3.0 <12.4.0' # NSProcessInfo.isiOSAppOnVision
device_info_plus: '>=11.4.0 <12.4.0' # NSProcessInfo.isiOSAppOnVision

dev_dependencies:
flutter_test:
Expand Down
8 changes: 4 additions & 4 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,10 @@ packages:
dependency: "direct main"
description:
name: dart_webrtc
sha256: "63a3ed6b958b5ba32d95ddba484c0dcf1cad4fd55eb551bb23c815b6f1e5d844"
sha256: f6d615bddea5e458ce180a914f3055c234ffb52fb7397a51b3491e76d6d7edb2
url: "https://pub.dev"
source: hosted
version: "1.8.0"
version: "1.8.1"
dbus:
dependency: transitive
description:
Expand Down Expand Up @@ -284,10 +284,10 @@ packages:
dependency: "direct main"
description:
name: flutter_webrtc
sha256: "8b220dc006c4891266735e516f7679bd08b7caaf7c36b1a93fb9357cec555f92"
sha256: c7b0a67ca2c878575fc5c146d801cd874f58f5f1ef5fa6e8eb0c93d413beb948
url: "https://pub.dev"
source: hosted
version: "1.4.0"
version: "1.4.1"
frontend_server_client:
dependency: transitive
description:
Expand Down
Loading
Loading