From 7ba41266eff00fe84d0fae2583235b95d67688a3 Mon Sep 17 00:00:00 2001 From: Martijn van Dijk Date: Thu, 1 Aug 2024 15:11:01 +0200 Subject: [PATCH] Updates --- .github/workflows/app_facing_package.yaml | 53 ++++++ .github/workflows/platform_interface.yaml | 42 +++++ .github/workflows/platform_web.yaml | 163 ++++++++++++++++++ cached_network_image/example/pubspec.yaml | 2 +- cached_network_image/pubspec.yaml | 4 +- .../pubspec.yaml | 4 +- cached_network_image_web/pubspec.yaml | 2 +- 7 files changed, 264 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/platform_web.yaml diff --git a/.github/workflows/app_facing_package.yaml b/.github/workflows/app_facing_package.yaml index 06770e70..faca08f5 100644 --- a/.github/workflows/app_facing_package.yaml +++ b/.github/workflows/app_facing_package.yaml @@ -3,7 +3,11 @@ name: app_facing_package # Controls when the action will run. Triggers the workflow on push or pull request # events but only for the develop branch on: + workflow_dispatch: + push: + tags: + - "v[0-9]+.[0-9]+.[0-9]+*" branches: [develop, main] paths: - "cached_network_image/**" @@ -347,3 +351,52 @@ jobs: # files: ${{env.source-directory}}/coverage/lcov.info # name: CachedNetworkImage (App Facing Package) # fail_ci_if_error: true + + publish: + if: ${{ github.ref_type == 'tag' }} + name: Publish package + permissions: + id-token: write + needs: + [ + format, + analyze, + tests, + build_android, + build_ios, + build_macOS, + build_windows, + build_linux, + build_web, + ] + # The type of runner that the job will run on + runs-on: ubuntu-latest + + env: + source-directory: ./cached_network_image + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + + - name: Set up Dart + uses: dart-lang/setup-dart@v1 + + # Make sure the stable version of Flutter is available + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: "stable" + architecture: x64 + cache: true + + # Download all Flutter packages + - name: Download dependencies + run: flutter pub get + working-directory: ${{env.source-directory}} + + # Publish the package + - name: Publish package + run: dart pub publish -v -f + working-directory: ${{env.source-directory}} diff --git a/.github/workflows/platform_interface.yaml b/.github/workflows/platform_interface.yaml index 907ec2b6..583dc236 100644 --- a/.github/workflows/platform_interface.yaml +++ b/.github/workflows/platform_interface.yaml @@ -3,7 +3,11 @@ name: platform_interface # Controls when the action will run. Triggers the workflow on push or pull request # events but only for the develop branch on: + workflow_dispatch: + push: + tags: + - "interface-v[0-9]+.[0-9]+.[0-9]+*" branches: [develop, main] paths: - "cached_network_image_platform_interface/**" @@ -119,3 +123,41 @@ jobs: # files: ${{env.source-directory}}/coverage/lcov.info # name: CachedNetworkImage (App Facing Package) # fail_ci_if_error: true + + publish: + if: ${{ github.ref_type == 'tag' }} + name: Publish package + permissions: + id-token: write + needs: [format, analyze, tests] + # The type of runner that the job will run on + runs-on: ubuntu-latest + + env: + source-directory: ./cached_network_image_platform_interface + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + + - name: Set up Dart + uses: dart-lang/setup-dart@v1 + + # Make sure the stable version of Flutter is available + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: "stable" + architecture: x64 + cache: true + + # Download all Flutter packages + - name: Download dependencies + run: flutter pub get + working-directory: ${{env.source-directory}} + + # Publish the package + - name: Publish package + run: dart pub publish -v -f + working-directory: ${{env.source-directory}} diff --git a/.github/workflows/platform_web.yaml b/.github/workflows/platform_web.yaml new file mode 100644 index 00000000..10831716 --- /dev/null +++ b/.github/workflows/platform_web.yaml @@ -0,0 +1,163 @@ +name: platform_web + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the develop branch +on: + workflow_dispatch: + + push: + tags: + - "web-v[0-9]+.[0-9]+.[0-9]+*" + branches: [develop, main] + paths: + - "cached_network_image_platform_web/**" + - ".github/workflows/platform_web.yaml" + pull_request: + branches: [develop] + paths: + - "cached_network_image_platform_web/**" + - ".github/workflows/platform_web.yaml" + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + format: + name: Format + + # The type of runner that the job will run on + runs-on: ubuntu-latest + + env: + source-directory: ./cached_network_image_platform_web + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + + # Make sure the stable version of Flutter is available + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: "stable" + architecture: x64 + cache: true + + # Download all Flutter packages + - name: Download dependencies + run: flutter pub get + working-directory: ${{env.source-directory}} + + # Run Flutter Format to ensure formatting is valid + - name: Run Flutter Format + run: dart format --set-exit-if-changed . + working-directory: ${{env.source-directory}} + + analyze: + name: Analyze + + # The type of runner that the job will run on + runs-on: ubuntu-latest + + env: + source-directory: ./cached_network_image_platform_web + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + + # Make sure the stable version of Flutter is available + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: "stable" + architecture: x64 + cache: true + + # Download all Flutter packages + - name: Download dependencies + run: flutter pub get + working-directory: ${{env.source-directory}} + + # Run Flutter Analyzer + - name: Run Flutter Analyzer + run: flutter analyze + working-directory: ${{env.source-directory}} + + tests: + name: Unit-tests + # The type of runner that the job will run on + runs-on: ubuntu-latest + + env: + source-directory: ./cached_network_image_platform_web + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + + # Make sure the stable version of Flutter is available + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: "stable" + architecture: x64 + cache: true + + # Download all Flutter packages + - name: Download dependencies + run: flutter pub get + working-directory: ${{env.source-directory}} + + # Run all unit-tests with code coverage + - name: Run unit tests + run: flutter test --coverage + working-directory: ${{env.source-directory}} + + # Upload code coverage information + # - uses: codecov/codecov-action@v4 + # env: + # CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + # with: + # files: ${{env.source-directory}}/coverage/lcov.info + # name: CachedNetworkImage (App Facing Package) + # fail_ci_if_error: true + + publish: + if: ${{ github.ref_type == 'tag' }} + name: Publish package + permissions: + id-token: write + needs: [format, analyze, tests] + # The type of runner that the job will run on + runs-on: ubuntu-latest + + env: + source-directory: ./cached_network_image_platform_web + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + + - name: Set up Dart + uses: dart-lang/setup-dart@v1 + + # Make sure the stable version of Flutter is available + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: "stable" + architecture: x64 + cache: true + + # Download all Flutter packages + - name: Download dependencies + run: flutter pub get + working-directory: ${{env.source-directory}} + + # Publish the package + - name: Publish package + run: dart pub publish -v -f + working-directory: ${{env.source-directory}} diff --git a/cached_network_image/example/pubspec.yaml b/cached_network_image/example/pubspec.yaml index 0e350b1e..f45cedfc 100644 --- a/cached_network_image/example/pubspec.yaml +++ b/cached_network_image/example/pubspec.yaml @@ -7,7 +7,7 @@ environment: flutter: '>=3.10.0' dependencies: - baseflow_plugin_template: ^2.1.2 + baseflow_plugin_template: ^2.2.0 cached_network_image: path: ../ flutter: diff --git a/cached_network_image/pubspec.yaml b/cached_network_image/pubspec.yaml index ad22ce9a..1a5fc2c5 100644 --- a/cached_network_image/pubspec.yaml +++ b/cached_network_image/pubspec.yaml @@ -16,7 +16,7 @@ dependencies: cached_network_image_web: ^1.2.0 flutter: sdk: flutter - flutter_cache_manager: ^3.3.3 + flutter_cache_manager: ^3.4.0 octo_image: ^2.0.0 dev_dependencies: @@ -24,4 +24,4 @@ dev_dependencies: flutter_lints: ^4.0.0 flutter_test: sdk: flutter - mocktail: ^1.0.0 + mocktail: ^1.0.4 diff --git a/cached_network_image_platform_interface/pubspec.yaml b/cached_network_image_platform_interface/pubspec.yaml index dfbb2e09..3cb6256d 100644 --- a/cached_network_image_platform_interface/pubspec.yaml +++ b/cached_network_image_platform_interface/pubspec.yaml @@ -1,6 +1,6 @@ name: cached_network_image_platform_interface description: Platform interface for CachedNetworkImage -version: 4.0.0 +version: 4.0.1 homepage: https://github.com/Baseflow/flutter_cached_network_image environment: @@ -10,7 +10,7 @@ environment: dependencies: flutter: sdk: flutter - flutter_cache_manager: ^3.3.3 + flutter_cache_manager: ^3.4.0 dev_dependencies: file: '>=7.0.0 <8.0.0' diff --git a/cached_network_image_web/pubspec.yaml b/cached_network_image_web/pubspec.yaml index 1284d85c..13c53db3 100644 --- a/cached_network_image_web/pubspec.yaml +++ b/cached_network_image_web/pubspec.yaml @@ -11,7 +11,7 @@ dependencies: cached_network_image_platform_interface: ^4.0.0 flutter: sdk: flutter - flutter_cache_manager: ^3.3.3 + flutter_cache_manager: ^3.4.0 dev_dependencies: file: '>=7.0.0 <8.0.0'