feat: Introduce the InitilizationArgProvider to allow the creation of the initialization arg lazily #143
Workflow file for this run
This file contains 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: CI check | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: pull_request | |
jobs: | |
flutter_codestyle_check: | |
name: Flutter code style check | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.10.0' | |
cache: true | |
- run: flutter analyze | |
dart_package_analyzer_check: | |
name: pub.dev scores check | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: axel-op/dart-package-analyzer@v3 | |
id: analysis | |
with: | |
githubToken: ${{ secrets.GITHUB_TOKEN }} | |
- name: Check scores | |
env: | |
TOTAL: ${{ steps.analysis.outputs.total }} | |
TOTAL_MAX: ${{ steps.analysis.outputs.total_max }} | |
run: | | |
if (( $TOTAL < 130 )) | |
then | |
echo Pub Score too low. | |
exit 1 | |
fi | |
pub_publish_check: | |
name: pub publish check | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.10.0' | |
cache: true | |
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:' # optional, change this to force refresh cache | |
cache-path: '${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:' # optional, change this to specify the cache path | |
- run: bash tool/scripts/dart_pub_publish_check.sh | |
build_windows: | |
name: Build Windows | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
strategy: | |
matrix: | |
version: ['2.10.5', '3.0.0', '3.3.9', '3.7.3', '3.10.0'] | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions/setup-java@v1 | |
with: | |
java-version: '11' | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ matrix.version }} | |
cache: true | |
- run: flutter pub get | |
- name: Build windows | |
run: flutter build windows | |
working-directory: example | |
build_ios: | |
name: Build iOS | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
strategy: | |
matrix: | |
version: ['2.10.5', '3.0.0', '3.3.9', '3.7.3', '3.10.0'] | |
runs-on: macos-13 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ matrix.version }} | |
cache: true | |
- run: flutter pub get | |
- name: Run flutter build ios --no-codesign | |
run: flutter build ios --no-codesign | |
working-directory: example | |
build_macos: | |
name: Build macOS | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
strategy: | |
matrix: | |
version: ['2.10.5', '3.0.0', '3.3.9', '3.7.3', '3.10.0'] | |
runs-on: macos-11 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ matrix.version }} | |
cache: true | |
- run: flutter pub get | |
- run: flutter config --enable-macos-desktop | |
- name: Run flutter build macos | |
run: flutter build macos | |
working-directory: example | |
build_android_windows: | |
name: Build Android on Windows | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
strategy: | |
matrix: | |
version: ['2.10.5', '3.0.0', '3.3.9', '3.7.3', '3.10.0'] | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions/setup-java@v1 | |
with: | |
java-version: '11' | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ matrix.version }} | |
cache: true | |
- run: flutter pub get | |
- name: Run flutter build apk | |
run: flutter build apk | |
working-directory: example | |
build_android_ubuntu: | |
name: Build Android on Ubuntu | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
strategy: | |
matrix: | |
version: ['2.10.5', '3.0.0', '3.3.9', '3.7.3', '3.10.0'] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions/setup-java@v1 | |
with: | |
java-version: '11' | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ matrix.version }} | |
cache: true | |
- run: flutter pub get | |
- name: Run flutter build apk | |
run: flutter build apk | |
working-directory: example | |
build_web_ubuntu: | |
name: Build Web on Ubuntu | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
strategy: | |
matrix: | |
version: ['2.10.5', '3.0.0', '3.3.9', '3.7.3', '3.10.0'] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions/setup-java@v1 | |
with: | |
java-version: '11' | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ matrix.version }} | |
cache: true | |
- run: flutter pub get | |
- name: Run flutter build web | |
run: flutter build web | |
working-directory: example | |
run_flutter_unit_test: | |
name: Run flutter unit test | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
strategy: | |
matrix: | |
version: ['2.10.5', '3.0.0', '3.3.9', '3.7.3', '3.10.0'] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions/setup-java@v1 | |
with: | |
java-version: '11' | |
- uses: subosito/flutter-action@v1 | |
with: | |
flutter-version: ${{ matrix.version }} | |
cache: true | |
- run: flutter packages get | |
- run: flutter test | |
run_flutter_unit_test_web: | |
name: Run flutter unit test web | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
strategy: | |
matrix: | |
version: ['2.10.5', '3.0.0', '3.3.9', '3.7.3', '3.10.0'] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions/setup-java@v1 | |
with: | |
java-version: '11' | |
- uses: subosito/flutter-action@v1 | |
with: | |
flutter-version: ${{ matrix.version }} | |
cache: true | |
- run: flutter packages get | |
- run: flutter test -d chrome | |
integration_test_windows: | |
name: windows integration test | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions/setup-java@v1 | |
with: | |
java-version: '11' | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.10.0' # Run the latest version | |
cache: true | |
- name: windows integration test | |
shell: bash | |
run: | | |
flutter packages get | |
# It's a little tricky that you should run integration test one by one on flutter macOS/Windows | |
for filename in integration_test/*.dart; do | |
flutter test $filename -d windows | |
done | |
working-directory: example | |
integration_test_ios: | |
name: ios integration test | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
runs-on: macos-13 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.13.0' # Run the latest version | |
cache: true | |
- uses: futureware-tech/simulator-action@v2 | |
with: | |
model: 'iPhone 14 Pro Max' | |
- name: ios integration test | |
run: | | |
flutter packages get | |
flutter test integration_test/iris_event_smoke_test.dart -d "iPhone 14 Pro Max" --verbose | |
flutter test integration_test/iris_method_channel_smoke_test.dart -d "iPhone 14 Pro Max" --verbose | |
working-directory: example | |
integration_test_ios_use_frameworks: | |
name: ios integration test with use_frameworks | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
runs-on: macos-13 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.10.0' # Run the latest version | |
cache: true | |
- uses: futureware-tech/simulator-action@v2 | |
with: | |
model: 'iPhone 14 Pro Max' | |
- name: ios integration test | |
run: | | |
export USE_FRAMEWORKS=true | |
flutter packages get | |
flutter test integration_test/iris_event_smoke_test.dart -d "iPhone 14 Pro Max" --verbose | |
flutter test integration_test/iris_method_channel_smoke_test.dart -d "iPhone 14 Pro Max" --verbose | |
working-directory: example | |
integration_test_macos: | |
name: macos integration test | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
runs-on: macos-13 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.10.0' # Run the latest version | |
cache: true | |
- run: flutter config --enable-macos-desktop | |
- name: run macos integration test | |
run: | | |
flutter packages get | |
# It's a little tricky that you should run integration test one by one on flutter macOS/Windows | |
for filename in integration_test/*.dart; do | |
flutter test $filename -d macos | |
done | |
working-directory: example | |
integration_test_android: | |
name: android integration test | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }} | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions/setup-java@v1 | |
with: | |
java-version: '11' | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.10.0' # Run the latest version | |
cache: true | |
- name: run android integration test | |
uses: reactivecircus/[email protected] | |
with: | |
api-level: 31 | |
arch: x86_64 | |
profile: Nexus 6 | |
script: bash tool/scripts/run_android_integration_test.sh |