mirror of https://github.com/flutter/pinball.git
parent
75a5cf7537
commit
5dc105c7be
@ -0,0 +1,74 @@
|
||||
name: Flutter Package Workflow
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
coverage_excludes:
|
||||
required: false
|
||||
type: string
|
||||
default: ""
|
||||
flutter_channel:
|
||||
required: false
|
||||
type: string
|
||||
default: "stable"
|
||||
flutter_version:
|
||||
required: false
|
||||
type: string
|
||||
default: ""
|
||||
working_directory:
|
||||
required: false
|
||||
type: string
|
||||
default: "."
|
||||
min_coverage:
|
||||
required: false
|
||||
type: number
|
||||
default: 100
|
||||
test_optimization:
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
test_recursion:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
build:
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ${{inputs.working_directory}}
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: 📚 Git Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: 🐦 Setup Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: ${{inputs.flutter_version}}
|
||||
channel: ${{inputs.flutter_channel}}
|
||||
cache: true
|
||||
|
||||
- name: 📦 Install Dependencies
|
||||
run: |
|
||||
flutter pub global activate very_good_cli
|
||||
very_good --analytics false
|
||||
very_good packages get --recursive
|
||||
|
||||
- name: ✨ Check Formatting
|
||||
run: flutter format --set-exit-if-changed lib test
|
||||
|
||||
- name: 🕵️ Analyze
|
||||
run: flutter analyze lib test
|
||||
|
||||
- name: 🧪 Run Tests
|
||||
run: very_good test ${{(inputs.test_recursion && '--recursive') || ''}} ${{(inputs.test_optimization && '--optimization') || '--no-optimization'}} --coverage --test-randomize-ordering-seed random
|
||||
|
||||
- name: 📊 Check Code Coverage
|
||||
uses: VeryGoodOpenSource/very_good_coverage@v1
|
||||
with:
|
||||
path: ${{inputs.working_directory}}/coverage/lcov.info
|
||||
exclude: ${{inputs.coverage_excludes}}
|
||||
min_coverage: ${{inputs.min_coverage}}
|
Loading…
Reference in new issue