Skip to content

Commit 9f39e95

Browse files
authored
fix: test and fix compatibility with min flutter version (#1510)
# Description - Compatibility with min flutter version - Allow configure Flutter version in dispatch workflow - Run tests with min required flutter version on release
1 parent 32210f3 commit 9f39e95

17 files changed

Lines changed: 89 additions & 47 deletions

File tree

.github/workflows/build-example.yml

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@ name: build example
22
on:
33
workflow_dispatch:
44
inputs:
5+
flutter_version:
6+
description: 'Flutter Version'
7+
required: false
8+
default: '3.7.x'
9+
type: choice
10+
options:
11+
- 'any'
12+
- '3.10.x'
13+
- '3.7.x'
14+
- '3.3.x'
15+
- '3.0.x'
516
enable_android:
617
description: 'Build Android'
718
required: false
@@ -34,6 +45,10 @@ on:
3445
type: boolean
3546
workflow_call:
3647
inputs:
48+
flutter_version:
49+
required: false
50+
default: '3.7.12'
51+
type: string
3752
enable_android:
3853
required: false
3954
default: true
@@ -68,7 +83,7 @@ jobs:
6883
- uses: actions/checkout@v3
6984
- uses: subosito/flutter-action@v2
7085
with:
71-
flutter-version: '3.7.12'
86+
flutter-version: ${{ inputs.flutter_version }}
7287
channel: 'stable'
7388
- uses: bluefireteam/melos-action@main
7489

@@ -84,7 +99,7 @@ jobs:
8499
- uses: actions/checkout@v3
85100
- uses: subosito/flutter-action@v2
86101
with:
87-
flutter-version: '3.7.12'
102+
flutter-version: ${{ inputs.flutter_version }}
88103
channel: 'stable'
89104
- uses: bluefireteam/melos-action@main
90105

@@ -100,7 +115,7 @@ jobs:
100115
- uses: actions/checkout@v3
101116
- uses: subosito/flutter-action@v2
102117
with:
103-
flutter-version: '3.7.12'
118+
flutter-version: ${{ inputs.flutter_version }}
104119
channel: 'stable'
105120
- uses: bluefireteam/melos-action@main
106121

@@ -116,7 +131,7 @@ jobs:
116131
- uses: actions/checkout@v3
117132
- uses: subosito/flutter-action@v2
118133
with:
119-
flutter-version: '3.7.12'
134+
flutter-version: ${{ inputs.flutter_version }}
120135
channel: 'stable'
121136
- uses: bluefireteam/melos-action@main
122137

@@ -136,7 +151,7 @@ jobs:
136151
- uses: actions/checkout@v3
137152
- uses: subosito/flutter-action@v2
138153
with:
139-
flutter-version: '3.7.12'
154+
flutter-version: ${{ inputs.flutter_version }}
140155
channel: 'stable'
141156
- uses: bluefireteam/melos-action@main
142157

@@ -152,7 +167,7 @@ jobs:
152167
- uses: actions/checkout@v3
153168
- uses: subosito/flutter-action@v2
154169
with:
155-
flutter-version: '3.7.12'
170+
flutter-version: ${{ inputs.flutter_version }}
156171
channel: 'stable'
157172
- uses: bluefireteam/melos-action@main
158173

.github/workflows/release.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: release
2+
on:
3+
push:
4+
tags:
5+
- '*'
6+
7+
jobs:
8+
call-min-flutter-test:
9+
uses: ./.github/workflows/test.yml
10+
with:
11+
flutter_version: '3.3.x'
12+
fatal_warnings: false
13+
# TODO(gustl22): Windows tests fail on Flutter <= 3.3.x, remove when setting min version to 3.7.x
14+
enable_windows: false

.github/workflows/test.yml

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@ name: test
22
on:
33
workflow_dispatch:
44
inputs:
5+
flutter_version:
6+
description: 'Flutter Version'
7+
required: false
8+
default: '3.7.x'
9+
type: choice
10+
options:
11+
- 'any'
12+
- '3.10.x'
13+
- '3.7.x'
14+
- '3.3.x'
15+
- '3.0.x'
16+
fatal_warnings:
17+
description: 'Treat warnings as fatal'
18+
required: false
19+
default: true
20+
type: boolean
521
enable_android:
622
description: 'Test Android'
723
required: false
@@ -34,6 +50,14 @@ on:
3450
type: boolean
3551
workflow_call:
3652
inputs:
53+
flutter_version:
54+
required: false
55+
default: '3.7.12'
56+
type: string
57+
fatal_warnings:
58+
required: false
59+
default: true
60+
type: boolean
3761
enable_android:
3862
required: false
3963
default: true
@@ -68,12 +92,12 @@ jobs:
6892
- uses: actions/checkout@v3
6993
- uses: subosito/flutter-action@v2
7094
with:
71-
flutter-version: '3.7.12'
95+
flutter-version: ${{ inputs.flutter_version }}
7296
channel: 'stable'
7397
- uses: bluefireteam/melos-action@main
7498

7599
- run: melos run format-check
76-
- run: melos run analyze
100+
- run: melos run analyze -- ${{ inputs.fatal_warnings && '--fatal-infos' || '--no-fatal-warnings --no-fatal-infos' }}
77101
- run: melos run test
78102

79103
web:
@@ -84,7 +108,7 @@ jobs:
84108
- uses: actions/checkout@v3
85109
- uses: subosito/flutter-action@v2
86110
with:
87-
flutter-version: '3.7.12'
111+
flutter-version: ${{ inputs.flutter_version }}
88112
channel: 'stable'
89113
- uses: bluefireteam/melos-action@main
90114
- uses: nanasess/setup-chromedriver@v1
@@ -122,7 +146,7 @@ jobs:
122146
- uses: actions/checkout@v3
123147
- uses: subosito/flutter-action@v2
124148
with:
125-
flutter-version: '3.7.12'
149+
flutter-version: ${{ inputs.flutter_version }}
126150
channel: 'stable'
127151
- uses: bluefireteam/melos-action@main
128152

@@ -162,7 +186,7 @@ jobs:
162186
- uses: actions/checkout@v3
163187
- uses: subosito/flutter-action@v2
164188
with:
165-
flutter-version: '3.7.12'
189+
flutter-version: ${{ inputs.flutter_version }}
166190
channel: 'stable'
167191
- uses: bluefireteam/melos-action@main
168192

@@ -190,7 +214,7 @@ jobs:
190214
- uses: actions/checkout@v3
191215
- uses: subosito/flutter-action@v2
192216
with:
193-
flutter-version: '3.7.12'
217+
flutter-version: ${{ inputs.flutter_version }}
194218
channel: 'stable'
195219
- uses: bluefireteam/melos-action@main
196220

@@ -215,7 +239,7 @@ jobs:
215239
- uses: actions/checkout@v3
216240
- uses: subosito/flutter-action@v2
217241
with:
218-
flutter-version: '3.7.12'
242+
flutter-version: ${{ inputs.flutter_version }}
219243
channel: 'stable'
220244
- uses: bluefireteam/melos-action@main
221245

@@ -245,7 +269,7 @@ jobs:
245269
- uses: actions/checkout@v3
246270
- uses: subosito/flutter-action@v2
247271
with:
248-
flutter-version: '3.7.12'
272+
flutter-version: ${{ inputs.flutter_version }}
249273
channel: 'stable'
250274
- uses: bluefireteam/melos-action@main
251275
- name: Install Flutter requirements for Linux

melos.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ scripts:
2121
description: Run all static analysis checks.
2222

2323
analyze:
24-
run: melos exec -c 10 flutter analyze --fatal-infos
24+
run: melos exec -c 10 flutter analyze
2525
description: Run `flutter analyze` for all packages.
2626

2727
format:

packages/audioplayers/example/android/app/build.gradle

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ apply plugin: 'kotlin-android'
2626
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
2727

2828
android {
29-
compileSdk flutter.compileSdkVersion
30-
ndkVersion flutter.ndkVersion
29+
compileSdk 33
3130

3231
compileOptions {
3332
sourceCompatibility JavaVersion.VERSION_11

packages/audioplayers/example/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,5 @@ flutter:
2929
- assets/
3030

3131
environment:
32-
sdk: ">=2.17.0 <3.0.0"
33-
flutter: ">=3.0.0"
32+
sdk: ">=2.18.0 <3.0.0"
33+
flutter: ">=3.3.0"

packages/audioplayers/example/server/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: audioplayers_test_server
22
publish_to: none
33

44
environment:
5-
sdk: ">=2.17.0 <3.0.0"
5+
sdk: ">=2.18.0 <3.0.0"
66

77
dependencies:
88
shelf: ^1.2.0

packages/audioplayers/lib/src/audio_cache.dart

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
import 'dart:async';
22

3-
// TODO(gustl22): remove when upgrading min Flutter version to >=3.3.0
4-
// ignore: unnecessary_import
5-
import 'dart:typed_data';
6-
73
import 'package:file/file.dart';
84
import 'package:file/local.dart';
95
import 'package:flutter/foundation.dart';

packages/audioplayers/lib/src/audioplayer.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
import 'dart:async';
2-
// TODO(gustl22): remove when upgrading min Flutter version to >=3.3.0
3-
// ignore: unnecessary_import
4-
import 'dart:typed_data';
52

63
import 'package:audioplayers/audioplayers.dart';
74
import 'package:audioplayers_platform_interface/audioplayers_platform_interface.dart';

packages/audioplayers/pubspec.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ dependencies:
3131
flutter:
3232
sdk: flutter
3333
http: ^0.13.5
34-
meta: ^1.8.0
34+
meta: ^1.7.0
3535
path_provider: ^2.0.12
36-
synchronized: ^3.0.1
36+
synchronized: ^3.0.0
3737
uuid: ^3.0.7
3838

3939
dev_dependencies:
@@ -43,6 +43,6 @@ dev_dependencies:
4343
sdk: flutter
4444

4545
environment:
46-
sdk: ">=2.17.0 <3.0.0"
47-
flutter: ">=3.0.0"
46+
sdk: ">=2.18.0 <3.0.0"
47+
flutter: ">=3.3.0"
4848

0 commit comments

Comments
 (0)