Merge pull request #285 from subosito/format

Minor formatting changes
This commit is contained in:
Bartek Pacia
2024-03-31 19:37:58 +02:00
committed by GitHub
3 changed files with 311 additions and 257 deletions

View File

@@ -1,4 +1,5 @@
name: Main workflow name: Main workflow
on: on:
push: push:
branches: branches:
@@ -12,136 +13,152 @@ on:
jobs: jobs:
lint_shellcheck: lint_shellcheck:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: ludeeus/action-shellcheck@master uses: actions/checkout@v4
- name: Run shellcheck
uses: ludeeus/action-shellcheck@master
test_channel: test_channel:
runs-on: ${{ matrix.operating-system }} runs-on: ${{ matrix.operating-system }}
strategy: strategy:
matrix: matrix:
operating-system: [ubuntu-latest, windows-latest, macos-latest, macos-13, macos-14] operating-system:
[ubuntu-latest, windows-latest, macos-latest, macos-13, macos-14]
channel: [stable, beta, master] channel: [stable, beta, master]
include: include:
- operating-system: ubuntu-latest - operating-system: ubuntu-latest
channel: main channel: main
steps:
- uses: actions/checkout@v4
- id: flutter-action
uses: ./
with:
channel: ${{ matrix.channel }}
- name: Echo outputs
run: |
echo RUNNER-OS=${{ runner.os }}
echo RUNNER-ARCH=${{ runner.arch }}
echo CACHE-PATH=${{ steps.flutter-action.outputs.CACHE-PATH }} steps:
echo CACHE-KEY=${{ steps.flutter-action.outputs.CACHE-KEY }} - name: Clone repository
echo CHANNEL=${{ steps.flutter-action.outputs.CHANNEL }} uses: actions/checkout@v4
echo VERSION=${{ steps.flutter-action.outputs.VERSION }} - id: flutter-action
echo ARCHITECTURE=${{ steps.flutter-action.outputs.ARCHITECTURE }} uses: ./
shell: bash with:
- run: dart --version channel: ${{ matrix.channel }}
shell: bash - name: Echo outputs
- run: flutter --version run: |
shell: bash echo RUNNER-OS=${{ runner.os }}
echo RUNNER-ARCH=${{ runner.arch }}
echo CACHE-PATH=${{ steps.flutter-action.outputs.CACHE-PATH }}
echo CACHE-KEY=${{ steps.flutter-action.outputs.CACHE-KEY }}
echo CHANNEL=${{ steps.flutter-action.outputs.CHANNEL }}
echo VERSION=${{ steps.flutter-action.outputs.VERSION }}
echo ARCHITECTURE=${{ steps.flutter-action.outputs.ARCHITECTURE }}
shell: bash
- run: dart --version
shell: bash
- run: flutter --version
shell: bash
test_cache: test_cache:
runs-on: ${{ matrix.operating-system }} runs-on: ${{ matrix.operating-system }}
strategy: strategy:
matrix: matrix:
operating-system: [ubuntu-latest, windows-latest, macos-latest, macos-13, macos-14] operating-system:
[ubuntu-latest, windows-latest, macos-latest, macos-13, macos-14]
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: ./ uses: actions/checkout@v4
with: - uses: ./
channel: stable with:
flutter-version: '3.10.6' channel: stable
cache: true flutter-version: "3.10.6"
- run: dart --version cache: true
shell: bash - run: dart --version
- run: flutter --version shell: bash
shell: bash - run: flutter --version
shell: bash
test_print_output: test_print_output:
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- run: ./setup.sh -t -p | grep 'stable' uses: actions/checkout@v4
shell: bash - run: ./setup.sh -t -p | grep 'stable'
- run: ./setup.sh -t -p | grep '3.7.7' shell: bash
shell: bash - run: ./setup.sh -t -p | grep '3.7.7'
- run: ./setup.sh -t -p | grep 'x64' shell: bash
shell: bash - run: ./setup.sh -t -p | grep 'x64'
- run: ./setup.sh -t -p stable | grep 'stable' shell: bash
shell: bash - run: ./setup.sh -t -p stable | grep 'stable'
- run: ./setup.sh -t -p beta | grep 'beta' shell: bash
shell: bash - run: ./setup.sh -t -p beta | grep 'beta'
- run: ./setup.sh -t -p beta | grep '3.9.0-0.1.pre' shell: bash
shell: bash - run: ./setup.sh -t -p beta | grep '3.9.0-0.1.pre'
- run: ./setup.sh -t -p -n 3.3.10 stable | grep '3.3.10' shell: bash
shell: bash - run: ./setup.sh -t -p -n 3.3.10 stable | grep '3.3.10'
- run: ./setup.sh -t -p -n 3.3.1 stable | grep '3.3.1' shell: bash
shell: bash - run: ./setup.sh -t -p -n 3.3.1 stable | grep '3.3.1'
- run: ./setup.sh -t -p -n 2 stable | grep '2.10.5' shell: bash
shell: bash - run: ./setup.sh -t -p -n 2 stable | grep '2.10.5'
- run: ./setup.sh -t -p -n 2 beta | grep '2.13.0-0.4.pre' shell: bash
shell: bash - run: ./setup.sh -t -p -n 2 beta | grep '2.13.0-0.4.pre'
- run: ./setup.sh -t -p -n 2 any | grep 'beta' shell: bash
shell: bash - run: ./setup.sh -t -p -n 2 any | grep 'beta'
- run: ./setup.sh -t -p -n 2 any | grep '2.13.0-0.4.pre' shell: bash
shell: bash - run: ./setup.sh -t -p -n 2 any | grep '2.13.0-0.4.pre'
- run: ./setup.sh -t -p -n 3 any | grep 'beta' shell: bash
shell: bash - run: ./setup.sh -t -p -n 3 any | grep 'beta'
- run: ./setup.sh -t -p -n 3 any | grep '3.9.0-0.1.pre' shell: bash
shell: bash - run: ./setup.sh -t -p -n 3 any | grep '3.9.0-0.1.pre'
- run: ./setup.sh -t -p -n 3 -a arm64 any | grep 'arm64' shell: bash
shell: bash - run: ./setup.sh -t -p -n 3 -a arm64 any | grep 'arm64'
- run: ./setup.sh -t -p -n any -a arm64 stable | grep 'stable' shell: bash
shell: bash - run: ./setup.sh -t -p -n any -a arm64 stable | grep 'stable'
- run: ./setup.sh -t -p -n any -a arm64 stable | grep '3.7.7' shell: bash
shell: bash - run: ./setup.sh -t -p -n any -a arm64 stable | grep '3.7.7'
- run: ./setup.sh -t -p -n any -a arm64 stable | grep 'arm64' shell: bash
shell: bash - run: ./setup.sh -t -p -n any -a arm64 stable | grep 'arm64'
- run: ./setup.sh -t -p -n 1 stable | grep '1.22.6' shell: bash
shell: bash - run: ./setup.sh -t -p -n 1 stable | grep '1.22.6'
- run: ./setup.sh -t -p -n 0 any | grep 'beta' shell: bash
shell: bash - run: ./setup.sh -t -p -n 0 any | grep 'beta'
- run: ./setup.sh -t -p -n 0 any | grep '0.11.13' shell: bash
shell: bash - run: ./setup.sh -t -p -n 0 any | grep '0.11.13'
- run: ./setup.sh -t -p | grep 'flutter-macos-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da' shell: bash
shell: bash - run: ./setup.sh -t -p | grep 'flutter-macos-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da'
- run: ./setup.sh -t -p stable | grep 'flutter-macos-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da' shell: bash
shell: bash - run: ./setup.sh -t -p stable | grep 'flutter-macos-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da'
- run: ./setup.sh -t -p beta | grep 'flutter-macos-beta-3.9.0-0.1.pre-x64-f732038a8cf4562ce38a1d7debb30209ae3da896' shell: bash
shell: bash - run: ./setup.sh -t -p beta | grep 'flutter-macos-beta-3.9.0-0.1.pre-x64-f732038a8cf4562ce38a1d7debb30209ae3da896'
- run: ./setup.sh -t -p dev | grep 'flutter-macos-dev-2.11.0-0.1.pre-x64-b101bfe32f634566e7cb2791a9efe19cf8828b15' shell: bash
shell: bash - run: ./setup.sh -t -p dev | grep 'flutter-macos-dev-2.11.0-0.1.pre-x64-b101bfe32f634566e7cb2791a9efe19cf8828b15'
- run: ./setup.sh -t -p master | grep 'flutter-macos-master-any-x64-master' shell: bash
shell: bash - run: ./setup.sh -t -p master | grep 'flutter-macos-master-any-x64-master'
- run: ./setup.sh -t -p -n 5b12b74 master | grep 'flutter-macos-master-5b12b74-x64-master' shell: bash
shell: bash - run: ./setup.sh -t -p -n 5b12b74 master | grep 'flutter-macos-master-5b12b74-x64-master'
- run: ./setup.sh -t -p -n 3.12.0-12.0.pre master | grep 'flutter-macos-master-3.12.0-12.0.pre-x64-master' shell: bash
shell: bash - run: ./setup.sh -t -p -n 3.12.0-12.0.pre master | grep 'flutter-macos-master-3.12.0-12.0.pre-x64-master'
- run: ./setup.sh -t -p -n stable master | grep 'flutter-macos-master-stable-x64-master' shell: bash
shell: bash - run: ./setup.sh -t -p -n stable master | grep 'flutter-macos-master-stable-x64-master'
- run: ./setup.sh -t -p -n 2 any | grep 'flutter-macos-beta-2.13.0-0.4.pre-x64-25caf1461b8f643092a9f6f5b224453b5c057d10' shell: bash
shell: bash - run: ./setup.sh -t -p -n 2 any | grep 'flutter-macos-beta-2.13.0-0.4.pre-x64-25caf1461b8f643092a9f6f5b224453b5c057d10'
- run: ./setup.sh -t -p -n 1 any | grep 'flutter-macos-beta-1.26.0-17.8.pre-x64-044f2cf5607a26f8818dab0f766400e85c52bdff' shell: bash
shell: bash - run: ./setup.sh -t -p -n 1 any | grep 'flutter-macos-beta-1.26.0-17.8.pre-x64-044f2cf5607a26f8818dab0f766400e85c52bdff'
- run: ./setup.sh -t -p -n 0 any | grep 'flutter-macos-beta-0.11.13-x64-58c8489fcdb4e4ef6c010117584c9b23d15221aa' shell: bash
shell: bash - run: ./setup.sh -t -p -n 0 any | grep 'flutter-macos-beta-0.11.13-x64-58c8489fcdb4e4ef6c010117584c9b23d15221aa'
- run: ./setup.sh -t -p | grep '/Users/runner/work/_temp/flutter/stable-3.7.7-x64' shell: bash
shell: bash - run: ./setup.sh -t -p | grep '/Users/runner/work/_temp/flutter/stable-3.7.7-x64'
- run: ./setup.sh -t -p stable | grep '/Users/runner/work/_temp/flutter/stable-3.7.7-x64' shell: bash
shell: bash - run: ./setup.sh -t -p stable | grep '/Users/runner/work/_temp/flutter/stable-3.7.7-x64'
- run: ./setup.sh -t -p beta | grep '/Users/runner/work/_temp/flutter/beta-3.9.0-0.1.pre-x64' shell: bash
shell: bash - run: ./setup.sh -t -p beta | grep '/Users/runner/work/_temp/flutter/beta-3.9.0-0.1.pre-x64'
- run: ./setup.sh -t -p dev | grep '/Users/runner/work/_temp/flutter/dev-2.11.0-0.1.pre-x64' shell: bash
shell: bash - run: ./setup.sh -t -p dev | grep '/Users/runner/work/_temp/flutter/dev-2.11.0-0.1.pre-x64'
- run: ./setup.sh -t -p master | grep '/Users/runner/work/_temp/flutter/master-any-x64' shell: bash
shell: bash - run: ./setup.sh -t -p master | grep '/Users/runner/work/_temp/flutter/master-any-x64'
- run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:hash:' | grep 'custom-stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da' shell: bash
shell: bash - run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:hash:' | grep 'custom-stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da'
- run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:sha256:' | grep 'custom-stable-3.7.7-78957b52f023a0d811add27eddc59b1a59d27d2ada5df123f39d0315708fb2d5' shell: bash
shell: bash - run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:sha256:' | grep 'custom-stable-3.7.7-78957b52f023a0d811add27eddc59b1a59d27d2ada5df123f39d0315708fb2d5'
- run: ./setup.sh -t -p -c '/tmp/flutter/:channel:-:version:-:hash:' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da' shell: bash
shell: bash - run: ./setup.sh -t -p -c '/tmp/flutter/:channel:-:version:-:hash:' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash

242
README.md
View File

@@ -1,6 +1,7 @@
# flutter-action # flutter-action
Flutter environment for use in GitHub Actions. It works on Linux, Windows, and macOS. Flutter environment for use in GitHub Actions. It works on Linux, Windows, and
macOS.
The following sections show how to configure this action. The following sections show how to configure this action.
@@ -10,59 +11,67 @@ Use specific version and channel:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
with: - name: Set up Flutter
flutter-version: '3.16.9' uses: subosito/flutter-action@v2
channel: 'stable' with:
- run: flutter --version flutter-version: 3.19.0
channel: stable
- run: flutter --version
``` ```
Use latest release for particular channel: Use latest release for particular channel:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
with: - name: Set up Flutter
channel: 'stable' # or: 'beta', 'dev', 'master' (or 'main') uses: subosito/flutter-action@v2
- run: flutter --version with:
channel: stable # or: beta, master (or main)
- run: flutter --version
``` ```
Use latest release for particular version and/or channel: Use latest release for particular version and/or channel:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
with: - name: Set up Flutter
flutter-version: '1.22.x' uses: subosito/flutter-action@v2
channel: 'dev' with:
- run: flutter --version flutter-version: 1.22.x
channel: dev
- run: flutter --version
``` ```
Use particular version on any channel: Use particular version on any channel:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: subosito/flutter-action@v2 - name: Set up Flutter
with: uses: subosito/flutter-action@v2
flutter-version: '3.x' with:
channel: 'any' flutter-version: "3.x"
- run: flutter --version channel: any
- run: flutter --version
``` ```
Use particular git reference on master channel: Use particular git reference on master channel:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: subosito/flutter-action@v2 - name: Set up Flutter
with: uses: subosito/flutter-action@v2
flutter-version: '5b12b74' # tag, commit or branch with:
channel: 'master' flutter-version: 5b12b74 # tag, commit or branch
- run: flutter --version channel: master
- run: flutter --version
``` ```
## Build Target ## Build Target
@@ -71,110 +80,125 @@ Build **Android** APK and app bundle:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
with: - name: Set up Flutter
flutter-version: '3.16.9' uses: subosito/flutter-action@v2
- run: flutter pub get with:
- run: flutter test flutter-version: 3.19.0
- run: flutter build apk - run: flutter pub get
- run: flutter build appbundle - run: flutter test
- run: flutter build apk
- run: flutter build appbundle
``` ```
Build for **iOS** (macOS only): Build for **iOS** (macOS runners only):
```yaml ```yaml
jobs: jobs:
build: main:
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
with: - name: Set up Flutter
channel: 'stable' uses: subosito/flutter-action@v2
- run: flutter pub get with:
- run: flutter test channel: stable
- run: flutter build ios --release --no-codesign - run: flutter pub get
- run: flutter test
- run: flutter build ios --release --no-codesign
``` ```
Build for the **web**: Build for the **web**:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
with: - name: Set up Flutter
channel: 'stable' uses: subosito/flutter-action@v2
- run: flutter pub get with:
- run: flutter test channel: "stable"
- run: flutter build web - run: flutter pub get
- run: flutter test
- run: flutter build web
``` ```
Build for **Windows**: Build for **Windows**:
```yaml ```yaml
jobs: jobs:
build: main:
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
with: - name: Set up Flutter
channel: 'stable' uses: subosito/flutter-action@v2
- run: flutter build windows with:
channel: stable
- run: flutter build windows
``` ```
Build for **Linux** desktop: Build for **Linux** desktop:
```yaml ```yaml
jobs: jobs:
build: main:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
with: - name: Set up Flutter
channel: 'stable' uses: subosito/flutter-action@v2
- run: | with:
sudo apt-get update -y channel: stable
sudo apt-get install -y ninja-build libgtk-3-dev - run: |
- run: flutter build linux sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev
- run: flutter build linux
``` ```
Build for **macOS** desktop: Build for **macOS** desktop:
```yaml ```yaml
jobs: jobs:
build: main:
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
with: - name: Set up Flutter
channel: 'stable' uses: subosito/flutter-action@v2
- run: flutter build macos with:
channel: "stable"
- run: flutter build macos
``` ```
## Caching ## Caching
Integration with `actions/cache`: Integration with [`actions/cache`](https://github.com/actions/cache):
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
with: - name: Set up Flutter
channel: 'stable' uses: subosito/flutter-action@v2
cache: true with:
# optional parameters follow channel: stable
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:' # optional, change this to force refresh cache cache: true
cache-path: '${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:' # optional, change this to specify the cache path # optional parameters follow
pub-cache-key: 'flutter-pub:os:-:channel:-:version:-:arch:-:hash:' # optional, change this to force refresh cache of dart pub get dependencies cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" # optional, change this to force refresh cache
pub-cache-path: '${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:' # optional, change this to specify the cache path cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" # optional, change this to specify the cache path
- run: flutter --version pub-cache-key: "flutter-pub:os:-:channel:-:version:-:arch:-:hash:" # optional, change this to force refresh cache of dart pub get dependencies
pub-cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" # optional, change this to specify the cache path
- run: flutter --version
``` ```
Note: `cache-key`, `pub-cache-key`, and `cache-path` has support for several dynamic values: Note: `cache-key`, `pub-cache-key`, and `cache-path` have support for several
dynamic values:
- `:os:` - `:os:`
- `:channel:` - `:channel:`
@@ -187,18 +211,20 @@ Use outputs from `flutter-action`:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- id: flutter-action - uses: actions/checkout@v4
uses: subosito/flutter-action@v2 - name: Set up Flutter
with: uses: subosito/flutter-action@v2
channel: 'stable' id: flutter-action
- run: | with:
echo CACHE-PATH=${{ steps.flutter-action.outputs.CACHE-PATH }} channel: stable
echo CACHE-KEY=${{ steps.flutter-action.outputs.CACHE-KEY }} - run: |
echo CHANNEL=${{ steps.flutter-action.outputs.CHANNEL }} echo CACHE-PATH=${{ steps.flutter-action.outputs.CACHE-PATH }}
echo VERSION=${{ steps.flutter-action.outputs.VERSION }} echo CACHE-KEY=${{ steps.flutter-action.outputs.CACHE-KEY }}
echo ARCHITECTURE=${{ steps.flutter-action.outputs.ARCHITECTURE }} echo CHANNEL=${{ steps.flutter-action.outputs.CHANNEL }}
echo PUB-CACHE-PATH=${{ steps.flutter-action.outputs.PUB-CACHE-PATH }} echo VERSION=${{ steps.flutter-action.outputs.VERSION }}
echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }} echo ARCHITECTURE=${{ steps.flutter-action.outputs.ARCHITECTURE }}
shell: bash echo PUB-CACHE-PATH=${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}
echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}
shell: bash
``` ```

View File

@@ -1,73 +1,84 @@
name: 'Flutter action' name: Set up Flutter
description: 'Setup your runner with Flutter environment' description: Setup your runner with Flutter environment
author: 'Alif Rachmawadi' author: Alif Rachmawadi
branding: branding:
icon: 'maximize' icon: maximize
color: 'blue' color: blue
inputs: inputs:
flutter-version: flutter-version:
description: 'The Flutter version to make available on the path' description: The Flutter version to make available on the path
required: false required: false
default: 'any' default: any
channel: channel:
description: 'The Flutter build release channel' description: The Flutter build release channel
required: false required: false
default: 'stable' default: stable
cache: cache:
description: 'Cache the Flutter SDK' description: Cache the Flutter SDK
required: false required: false
default: 'false' default: "false"
cache-key: cache-key:
description: 'Identifier for the Flutter SDK cache' description: Identifier for the Flutter SDK cache
required: false required: false
default: 'flutter-:os:-:channel:-:version:-:arch:-:hash:' default: "flutter-:os:-:channel:-:version:-:arch:-:hash:"
pub-cache-key: pub-cache-key:
description: 'Identifier for the Dart .pub-cache cache' description: Identifier for the Dart .pub-cache cache
required: false required: false
default: 'flutter-pub:os:-:channel:-:version:-:arch:-:hash:' default: "flutter-pub:os:-:channel:-:version:-:arch:-:hash:"
cache-path: cache-path:
description: 'Flutter SDK cache path' description: Flutter SDK cache path
required: false required: false
default: '${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:' default: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:"
pub-cache-path: pub-cache-path:
description: 'Flutter pub cache path' description: Flutter pub cache path
required: false required: false
default: 'default' default: default
architecture: architecture:
description: 'The architecture of Flutter SDK executable (x64 or arm64)' description: The architecture of Flutter SDK executable (x64 or arm64)
required: false required: false
default: '${{ runner.arch }}' default: "${{ runner.arch }}"
outputs: outputs:
CACHE-PATH:
value: '${{ steps.flutter-action.outputs.CACHE-PATH }}'
CACHE-KEY: CACHE-KEY:
value: '${{ steps.flutter-action.outputs.CACHE-KEY }}' value: "${{ steps.flutter-action.outputs.CACHE-KEY }}"
description: Key used to cache the Flutter SDK
CACHE-PATH:
value: "${{ steps.flutter-action.outputs.CACHE-PATH }}"
description: Path to Flutter SDK
CHANNEL: CHANNEL:
value: '${{ steps.flutter-action.outputs.CHANNEL }}' value: "${{ steps.flutter-action.outputs.CHANNEL }}"
description: The selected Flutter release channel
VERSION: VERSION:
value: '${{ steps.flutter-action.outputs.VERSION }}' value: "${{ steps.flutter-action.outputs.VERSION }}"
description: The selected Flutter version
ARCHITECTURE: ARCHITECTURE:
value: '${{ steps.flutter-action.outputs.ARCHITECTURE }}' value: "${{ steps.flutter-action.outputs.ARCHITECTURE }}"
description: The selected Flutter CPU architecture
PUB-CACHE-KEY: PUB-CACHE-KEY:
value: '${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}' value: "${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}"
description: Key used to cache the pub dependencies
PUB-CACHE-PATH: PUB-CACHE-PATH:
value: '${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}' value: "${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}"
description: Path to pub cache
runs: runs:
using: 'composite' using: composite
steps: steps:
- run: chmod +x $GITHUB_ACTION_PATH/setup.sh - name: Make setup script executable
run: chmod +x "$GITHUB_ACTION_PATH/setup.sh"
shell: bash shell: bash
- id: flutter-action - name: Print configuration
id: flutter-action
run: $GITHUB_ACTION_PATH/setup.sh -p -c '${{ inputs.cache-path }}' -k '${{ inputs.cache-key }}' -d '${{ inputs.pub-cache-path }}' -l '${{ inputs.pub-cache-key }}' -n '${{ inputs.flutter-version }}' -a '${{ inputs.architecture }}' ${{ inputs.channel }} run: $GITHUB_ACTION_PATH/setup.sh -p -c '${{ inputs.cache-path }}' -k '${{ inputs.cache-key }}' -d '${{ inputs.pub-cache-path }}' -l '${{ inputs.pub-cache-key }}' -n '${{ inputs.flutter-version }}' -a '${{ inputs.architecture }}' ${{ inputs.channel }}
shell: bash shell: bash
- if: ${{ inputs.cache == 'true' }} - name: Cache Flutter
if: ${{ inputs.cache == 'true' }}
uses: actions/cache@v4 uses: actions/cache@v4
with: with:
path: ${{ steps.flutter-action.outputs.CACHE-PATH }} path: ${{ steps.flutter-action.outputs.CACHE-PATH }}
key: ${{ steps.flutter-action.outputs.CACHE-KEY }} key: ${{ steps.flutter-action.outputs.CACHE-KEY }}
restore-keys: | restore-keys: |
${{ steps.flutter-action.outputs.CACHE-KEY }} ${{ steps.flutter-action.outputs.CACHE-KEY }}
- if: ${{ inputs.cache == 'true' }} - name: Cache pub dependencies
if: ${{ inputs.cache == 'true' }}
uses: actions/cache@v4 uses: actions/cache@v4
with: with:
path: ${{ steps.flutter-action.outputs.PUB-CACHE-PATH }} path: ${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}