diff --git a/.github/workflows/authentication_repository.yaml b/.github/workflows/authentication_repository.yaml index 74c81d10..4f2cd682 100644 --- a/.github/workflows/authentication_repository.yaml +++ b/.github/workflows/authentication_repository.yaml @@ -17,6 +17,6 @@ on: jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: flutter_package.yml@v1 with: working_directory: packages/authentication_repository diff --git a/.github/workflows/flutter_package.yml b/.github/workflows/flutter_package.yml new file mode 100644 index 00000000..4e3fbd5f --- /dev/null +++ b/.github/workflows/flutter_package.yml @@ -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}} diff --git a/.github/workflows/leaderboard_repository.yaml b/.github/workflows/leaderboard_repository.yaml index 327f70b3..9525891f 100644 --- a/.github/workflows/leaderboard_repository.yaml +++ b/.github/workflows/leaderboard_repository.yaml @@ -17,6 +17,6 @@ on: jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: flutter_package.yml@v1 with: working_directory: packages/leaderboard_repository diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 48ad112c..4c52d703 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -8,7 +8,7 @@ on: [pull_request, push] jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: flutter_package.yml@v1 with: flutter_channel: stable flutter_version: 2.10.5 diff --git a/.github/workflows/pinball_audio.yaml b/.github/workflows/pinball_audio.yaml index 6ba3adde..4297b1bf 100644 --- a/.github/workflows/pinball_audio.yaml +++ b/.github/workflows/pinball_audio.yaml @@ -17,7 +17,7 @@ on: jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: flutter_package.yml@v1 with: working_directory: packages/pinball_audio coverage_excludes: "lib/gen/*.dart" diff --git a/.github/workflows/pinball_components.yaml b/.github/workflows/pinball_components.yaml index 19f13044..28433b7b 100644 --- a/.github/workflows/pinball_components.yaml +++ b/.github/workflows/pinball_components.yaml @@ -17,7 +17,7 @@ on: jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: flutter_package.yml@v1 with: working_directory: packages/pinball_components coverage_excludes: "lib/gen/*.dart" diff --git a/.github/workflows/pinball_flame.yaml b/.github/workflows/pinball_flame.yaml index 297b792e..94fa061d 100644 --- a/.github/workflows/pinball_flame.yaml +++ b/.github/workflows/pinball_flame.yaml @@ -17,7 +17,7 @@ on: jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: flutter_package.yml@v1 with: working_directory: packages/pinball_flame coverage_excludes: "lib/gen/*.dart" diff --git a/.github/workflows/pinball_theme.yaml b/.github/workflows/pinball_theme.yaml index 15280761..8d79fda2 100644 --- a/.github/workflows/pinball_theme.yaml +++ b/.github/workflows/pinball_theme.yaml @@ -17,7 +17,7 @@ on: jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: flutter_package.yml@v1 with: working_directory: packages/pinball_theme coverage_excludes: "lib/src/generated/*.dart" \ No newline at end of file diff --git a/.github/workflows/pinball_ui.yaml b/.github/workflows/pinball_ui.yaml index 98643ffa..586e160f 100644 --- a/.github/workflows/pinball_ui.yaml +++ b/.github/workflows/pinball_ui.yaml @@ -17,7 +17,7 @@ on: jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: flutter_package.yml@v1 with: working_directory: packages/pinball_ui coverage_excludes: "lib/gen/*.dart" diff --git a/.github/workflows/platform_helper.yaml b/.github/workflows/platform_helper.yaml index 0c1c61e7..d894874f 100644 --- a/.github/workflows/platform_helper.yaml +++ b/.github/workflows/platform_helper.yaml @@ -17,7 +17,7 @@ on: jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: flutter_package.yml@v1 with: working_directory: packages/platform_helper coverage_excludes: "lib/gen/*.dart" diff --git a/.github/workflows/share_repository.yaml b/.github/workflows/share_repository.yaml index 2860902b..84c3d687 100644 --- a/.github/workflows/share_repository.yaml +++ b/.github/workflows/share_repository.yaml @@ -13,6 +13,6 @@ on: jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: flutter_package.yml@v1 with: working_directory: packages/share_repository