Skip to content

feat: Introduce the InitilizationArgProvider to allow the creation of the initialization arg lazily #138

feat: Introduce the InitilizationArgProvider to allow the creation of the initialization arg lazily

feat: Introduce the InitilizationArgProvider to allow the creation of the initialization arg lazily #138

Workflow file for this run

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.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: |
flutter packages get
export USE_FRAMEWORKS=true
flutter test integration_test
unset USE_FRAMEWORKS
flutter test integration_test
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