From 04527f195d7309b9c79b877e518b4c1d16953f3f Mon Sep 17 00:00:00 2001 From: hawkbee1 Date: Thu, 2 May 2024 07:33:37 +0000 Subject: [PATCH] update github workflows --- .github/workflows/credential_manifest.yaml | 2 +- .github/workflows/cryptocurrency_keys.yaml | 2 +- .github/workflows/flutter_package.yaml | 120 +++++++++++++++++++++ .github/workflows/jwt_decode.yaml | 2 +- .github/workflows/main.yaml | 4 +- .github/workflows/secure_storage.yaml | 12 --- 6 files changed, 125 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/flutter_package.yaml delete mode 100644 .github/workflows/secure_storage.yaml diff --git a/.github/workflows/credential_manifest.yaml b/.github/workflows/credential_manifest.yaml index 3547cfba4..d45788be3 100644 --- a/.github/workflows/credential_manifest.yaml +++ b/.github/workflows/credential_manifest.yaml @@ -4,7 +4,7 @@ on: [ pull_request, push ] jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: TalaoDAO/AltMe/.github/workflows/flutter_package.yaml@v1 with: flutter_channel: stable flutter_version: 3.19.6 diff --git a/.github/workflows/cryptocurrency_keys.yaml b/.github/workflows/cryptocurrency_keys.yaml index d64626a0d..e9c649327 100644 --- a/.github/workflows/cryptocurrency_keys.yaml +++ b/.github/workflows/cryptocurrency_keys.yaml @@ -4,7 +4,7 @@ on: [ pull_request, push ] jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: TalaoDAO/AltMe/.github/workflows/flutter_package.yaml@v1 with: flutter_channel: stable flutter_version: 3.19.6 diff --git a/.github/workflows/flutter_package.yaml b/.github/workflows/flutter_package.yaml new file mode 100644 index 000000000..08e17d043 --- /dev/null +++ b/.github/workflows/flutter_package.yaml @@ -0,0 +1,120 @@ +name: Flutter Package Workflow + +on: + workflow_call: + inputs: + analyze_directories: + required: false + type: string + default: "lib test" + concurrency: + required: false + type: number + default: 4 + coverage_excludes: + required: false + type: string + default: "" + flutter_channel: + required: false + type: string + default: "stable" + flutter_version: + required: false + type: string + default: "" + format_directories: + required: false + type: string + default: "lib test" + format_line_length: + required: false + type: string + default: "80" + min_coverage: + required: false + type: number + default: 100 + runs_on: + required: false + type: string + default: "ubuntu-latest" + setup: + required: false + type: string + default: "" + test_optimization: + required: false + type: boolean + default: true + test_recursion: + required: false + type: boolean + default: false + working_directory: + required: false + type: string + default: "." + package_get_excludes: + required: false + type: string + default: "!*" + secrets: + ssh_key: + required: false + +jobs: + build: + defaults: + run: + working-directory: ${{inputs.working_directory}} + + runs-on: ${{inputs.runs_on}} + + steps: + - name: ๐Ÿ“š Git Checkout + uses: actions/checkout@v4 + + - name: ๐Ÿฆ Setup Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: ${{inputs.flutter_version}} + channel: ${{inputs.flutter_channel}} + cache: true + cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }} + + - name: ๐Ÿคซ Set SSH Key + env: + ssh_key: ${{secrets.ssh_key}} + if: env.ssh_key != null + uses: webfactory/ssh-agent@v0.9.0 + with: + ssh-private-key: ${{secrets.ssh_key}} + + - name: ๐Ÿ“ฆ Install Dependencies + run: | + flutter pub global activate very_good_cli + very_good packages get --recursive --ignore=${{inputs.package_get_excludes}} + + - name: โš™๏ธ Run Setup + if: "${{inputs.setup != ''}}" + run: ${{inputs.setup}} + + - name: โœจ Check Formatting + run: dart format --line-length ${{inputs.format_line_length}} --set-exit-if-changed ${{inputs.format_directories}} + + - name: โš™๏ธ build with build_runner + run: dart run build_runner build --delete-conflicting-outputs + + - name: ๐Ÿ•ต๏ธ Analyze + run: flutter analyze ${{inputs.analyze_directories}} + + - name: ๐Ÿงช Run Tests + run: very_good test -j ${{inputs.concurrency}} ${{(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@v3 + with: + path: ${{inputs.working_directory}}/coverage/lcov.info + exclude: ${{inputs.coverage_excludes}} + min_coverage: ${{inputs.min_coverage}} \ No newline at end of file diff --git a/.github/workflows/jwt_decode.yaml b/.github/workflows/jwt_decode.yaml index 12250201e..8140b1f42 100644 --- a/.github/workflows/jwt_decode.yaml +++ b/.github/workflows/jwt_decode.yaml @@ -4,7 +4,7 @@ on: [ pull_request, push ] jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: TalaoDAO/AltMe/.github/workflows/flutter_package.yaml@v1 with: flutter_channel: stable flutter_version: 3.19.6 diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index bf0a61139..3d4071f18 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -4,9 +4,9 @@ on: [ pull_request, push ] jobs: build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 + uses: TalaoDAO/AltMe/.github/workflows/flutter_package.yaml@v1 with: coverage_excludes: "**/*_observer.dart **/change.dart" flutter_channel: stable flutter_version: 3.19.6 - min_coverage: 95 + min_coverage: 30 diff --git a/.github/workflows/secure_storage.yaml b/.github/workflows/secure_storage.yaml deleted file mode 100644 index ab560d91f..000000000 --- a/.github/workflows/secure_storage.yaml +++ /dev/null @@ -1,12 +0,0 @@ -name: secure_storage - -on: [ pull_request, push ] - -jobs: - build: - uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 - with: - flutter_channel: stable - flutter_version: 3.19.6 - min_coverage: 95 - working_directory: packages/secure_storage