Compare commits

...

9 Commits

Author SHA1 Message Date
Victor Eronmosele
e938fdf565 Update Flock's git URL in README (#347)
* Update Flock's git URL in README

* Update Flock's git URL in code sample
2025-03-24 21:47:02 +01:00
Peter Leibiger
bcafcd664b Fix PUB-CACHE-PATH output different to PUB_CACHE env variable (#348) 2025-03-24 21:46:39 +01:00
Luke Bonsey
1177d931c8 fix: remove restore keys (#349) 2025-03-24 21:42:03 +01:00
Koji Wakamiya
ce3cf2160d test: Split test cases by architecture (#305) 2024-12-20 10:31:11 +01:00
Bartek Pacia
f2c4f6686c fix syntax mistake in readme (#338) 2024-12-03 21:06:22 +01:00
Bartek Pacia
fd476281dd improve readme (#337) 2024-12-03 21:04:13 +01:00
ErBW_s
799318a131 feat: add git source support (#334)
* try to add git source support

* improve GIT_SOURCE output name

* fix syntax

---------

Co-authored-by: Bartek Pacia <barpac02@gmail.com>
2024-12-03 20:23:57 +01:00
Bartek Pacia
8535a80ce0 Feature/yq on windows (#336)
* install `yq` if runner.os is `windows`

* update readme with `yq` on windows info
2024-12-03 20:05:47 +01:00
Bartek Pacia
7642db7052 update readme (#335) 2024-12-03 19:58:13 +01:00
4 changed files with 198 additions and 52 deletions

View File

@@ -27,9 +27,16 @@ jobs:
strategy: strategy:
matrix: matrix:
operating-system: operating-system:
[ubuntu-latest, windows-latest, macos-latest, macos-13] - ubuntu-latest
- windows-latest
- macos-latest
- macos-13
channel: [stable, beta, master] channel: [stable, beta, master]
dry-run: [true, false] dry-run: [true, false]
git-source:
- https://github.com/flutter/flutter.git
- https://github.com/Flutter-Foundation/flutter.git
- https://gitee.com/harmonycommando_flutter/flutter.git
include: include:
- operating-system: ubuntu-latest - operating-system: ubuntu-latest
channel: main channel: main
@@ -42,6 +49,7 @@ jobs:
with: with:
channel: ${{ matrix.channel }} channel: ${{ matrix.channel }}
dry-run: ${{ matrix.dry-run }} dry-run: ${{ matrix.dry-run }}
git-source: ${{ matrix.git-source }}
- name: Echo outputs - name: Echo outputs
run: | run: |
echo RUNNER-OS=${{ runner.os }} echo RUNNER-OS=${{ runner.os }}
@@ -108,11 +116,11 @@ jobs:
run: flutter --version | grep '3.3.10' run: flutter --version | grep '3.3.10'
shell: bash shell: bash
test_print_output: test_print_output_x64:
runs-on: macos-13 runs-on: ubuntu-latest
# These calls to setup.sh sepcify the -t flag, which enables test mode. # These calls to setup.sh sepcify the -t flag, which enables test mode.
# Test mode uses hardcoded Flutter release manifests from test/ directory. # Test mode uses hardcoded Flutter release manifests from test/ directory.
steps: steps:
- name: Clone repository - name: Clone repository
@@ -123,7 +131,7 @@ jobs:
shell: bash shell: bash
- run: ./setup.sh -t -p | grep '3.7.7' - run: ./setup.sh -t -p | grep '3.7.7'
shell: bash shell: bash
- run: ./setup.sh -t -p -a x64 | grep 'x64' - run: ./setup.sh -t -p | grep 'x64'
shell: bash shell: bash
- run: ./setup.sh -t -p stable | grep 'stable' - run: ./setup.sh -t -p stable | grep 'stable'
shell: bash shell: bash
@@ -135,13 +143,98 @@ jobs:
shell: bash shell: bash
- run: ./setup.sh -t -p -n 3.3.1 stable | grep '3.3.1' - run: ./setup.sh -t -p -n 3.3.1 stable | grep '3.3.1'
shell: bash shell: bash
- run: ./setup.sh -t -p -n 2 -a x64 stable | grep '2.10.5' - run: ./setup.sh -t -p -n 2 stable | grep '2.10.5'
shell: bash shell: bash
- run: ./setup.sh -t -p -n 2 -a x64 beta | grep '2.13.0-0.4.pre' - 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 -a x64 any | grep 'beta' - run: ./setup.sh -t -p -n 2 any | grep 'beta'
shell: bash shell: bash
- run: ./setup.sh -t -p -n 2 -a x64 any | grep '2.13.0-0.4.pre' - run: ./setup.sh -t -p -n 2 any | grep '2.13.0-0.4.pre'
shell: bash
- run: ./setup.sh -t -p -n 3 any | grep 'beta'
shell: bash
- run: ./setup.sh -t -p -n 3 any | grep '3.9.0-0.1.pre'
shell: bash
- run: ./setup.sh -t -p -n 3 any | grep 'x64'
shell: bash
- run: ./setup.sh -t -p -n any stable | grep 'stable'
shell: bash
- run: ./setup.sh -t -p -n any stable | grep '3.7.7'
shell: bash
- run: ./setup.sh -t -p -n any stable | grep 'x64'
shell: bash
- run: ./setup.sh -t -p -n 1 stable | grep '1.22.6'
shell: bash
- run: ./setup.sh -t -p -n 0 any | grep 'beta'
shell: bash
- run: ./setup.sh -t -p -n 0 any | grep '0.11.13'
shell: bash
- run: ./setup.sh -t -p | grep 'flutter-linux-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash
- run: ./setup.sh -t -p stable | grep 'flutter-linux-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash
- run: ./setup.sh -t -p beta | grep 'flutter-linux-beta-3.9.0-0.1.pre-x64-f732038a8cf4562ce38a1d7debb30209ae3da896'
shell: bash
- run: ./setup.sh -t -p dev | grep 'flutter-linux-dev-2.13.0-0.1.pre-x64-13a2fb10b838971ce211230f8ffdd094c14af02c'
shell: bash
- run: ./setup.sh -t -p master | grep 'flutter-linux-master-any-x64-master'
shell: bash
- run: ./setup.sh -t -p -n 5b12b74 master | grep 'flutter-linux-master-5b12b74-x64-master'
shell: bash
- run: ./setup.sh -t -p -n 3.12.0-12.0.pre master | grep 'flutter-linux-master-3.12.0-12.0.pre-x64-master'
shell: bash
- run: ./setup.sh -t -p -n stable master | grep 'flutter-linux-master-stable-x64-master'
shell: bash
- run: ./setup.sh -t -p -n 2 any | grep 'flutter-linux-beta-2.13.0-0.4.pre-x64-25caf1461b8f643092a9f6f5b224453b5c057d10'
shell: bash
- run: ./setup.sh -t -p -n 1 any | grep 'flutter-linux-beta-1.26.0-17.8.pre-x64-044f2cf5607a26f8818dab0f766400e85c52bdff'
shell: bash
- run: ./setup.sh -t -p -n 0 any | grep 'flutter-linux-beta-0.11.13-x64-58c8489fcdb4e4ef6c010117584c9b23d15221aa'
shell: bash
- run: ./setup.sh -t -p | grep '/opt/hostedtoolcache/flutter/stable-3.7.7-x64'
shell: bash
- run: ./setup.sh -t -p stable | grep '/opt/hostedtoolcache/flutter/stable-3.7.7-x64'
shell: bash
- run: ./setup.sh -t -p beta | grep '/opt/hostedtoolcache/flutter/beta-3.9.0-0.1.pre-x64'
shell: bash
- run: ./setup.sh -t -p dev | grep '/opt/hostedtoolcache/flutter/dev-2.13.0-0.1.pre-x64'
shell: bash
- run: ./setup.sh -t -p master | grep '/opt/hostedtoolcache/flutter/master-any-x64'
shell: bash
- run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:hash:' | grep 'custom-stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash
- run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:sha256:' | grep 'custom-stable-3.7.7-cdd49597e88c35e5de5184e9acff433dfbb3c075b74ef7b27790af7f57ce2420'
shell: bash
- run: ./setup.sh -t -p -c '/tmp/flutter/:channel:-:version:-:hash:' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash
test_print_output_arm64:
runs-on: macos-latest
# These calls to setup.sh sepcify the -t flag, which enables test mode.
# Test mode uses hardcoded Flutter release manifests from test/ directory.
steps:
- name: Clone repository
uses: actions/checkout@v4
- run: ./setup.sh -t -p -f test/pubspec.yaml | grep '3.3.10'
shell: bash
- run: ./setup.sh -t -p | grep 'stable'
shell: bash
- run: ./setup.sh -t -p | grep '3.7.7'
shell: bash
- run: ./setup.sh -t -p | grep 'arm64'
shell: bash
- run: ./setup.sh -t -p stable | grep 'stable'
shell: bash
- run: ./setup.sh -t -p beta | grep 'beta'
shell: bash
- run: ./setup.sh -t -p beta | grep '3.9.0-0.1.pre'
shell: bash
- run: ./setup.sh -t -p -n 3.3.10 stable | grep '3.3.10'
shell: bash
- 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 any | grep 'beta' - run: ./setup.sh -t -p -n 3 any | grep 'beta'
shell: bash shell: bash
@@ -155,45 +248,31 @@ jobs:
shell: bash shell: bash
- run: ./setup.sh -t -p -n any -a arm64 stable | grep 'arm64' - run: ./setup.sh -t -p -n any -a arm64 stable | grep 'arm64'
shell: bash shell: bash
- run: ./setup.sh -t -p -n 1 -a x64 stable | grep '1.22.6' - run: ./setup.sh -t -p | grep 'flutter-macos-stable-3.7.7-arm64-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash shell: bash
- run: ./setup.sh -t -p -n 0 -a x64 any | grep 'beta' - run: ./setup.sh -t -p stable | grep 'flutter-macos-stable-3.7.7-arm64-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash shell: bash
- run: ./setup.sh -t -p -n 0 -a x64 any | grep '0.11.13' - run: ./setup.sh -t -p beta | grep 'flutter-macos-beta-3.9.0-0.1.pre-arm64-8b9b90e75107181aadc303d8d7422205863a35dd'
shell: bash shell: bash
- run: ./setup.sh -t -p -a x64 | grep 'flutter-macos-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da' - run: ./setup.sh -t -p master | grep 'flutter-macos-master-any-arm64-master'
shell: bash shell: bash
- run: ./setup.sh -t -p -a x64 stable | grep 'flutter-macos-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da' - run: ./setup.sh -t -p -n 5b12b74 master | grep 'flutter-macos-master-5b12b74-arm64-master'
shell: bash shell: bash
- run: ./setup.sh -t -p -a x64 beta | grep 'flutter-macos-beta-3.9.0-0.1.pre-x64-f732038a8cf4562ce38a1d7debb30209ae3da896' - run: ./setup.sh -t -p -n 3.12.0-12.0.pre master | grep 'flutter-macos-master-3.12.0-12.0.pre-arm64-master'
shell: bash shell: bash
- run: ./setup.sh -t -p -a x64 dev | grep 'flutter-macos-dev-2.11.0-0.1.pre-x64-b101bfe32f634566e7cb2791a9efe19cf8828b15' - run: ./setup.sh -t -p -n stable master | grep 'flutter-macos-master-stable-arm64-master'
shell: bash shell: bash
- run: ./setup.sh -t -p -a x64 master | grep 'flutter-macos-master-any-x64-master' - run: ./setup.sh -t -p | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-arm64'
shell: bash shell: bash
- run: ./setup.sh -t -p -n 5b12b74 -a x64 master | grep 'flutter-macos-master-5b12b74-x64-master' - run: ./setup.sh -t -p stable | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-arm64'
shell: bash shell: bash
- run: ./setup.sh -t -p -n 3.12.0-12.0.pre -a x64 master | grep 'flutter-macos-master-3.12.0-12.0.pre-x64-master' - run: ./setup.sh -t -p beta | grep '/Users/runner/hostedtoolcache/flutter/beta-3.9.0-0.1.pre-arm64'
shell: bash shell: bash
- run: ./setup.sh -t -p -n 2 -a x64 any | grep 'flutter-macos-beta-2.13.0-0.4.pre-x64-25caf1461b8f643092a9f6f5b224453b5c057d10' - run: ./setup.sh -t -p master | grep '/Users/runner/hostedtoolcache/flutter/master-any-arm64'
shell: bash
- run: ./setup.sh -t -p -n 1 -a x64 any | grep 'flutter-macos-beta-1.26.0-17.8.pre-x64-044f2cf5607a26f8818dab0f766400e85c52bdff'
shell: bash
- run: ./setup.sh -t -p -n 0 -a x64 any | grep 'flutter-macos-beta-0.11.13-x64-58c8489fcdb4e4ef6c010117584c9b23d15221aa'
shell: bash
- run: ./setup.sh -t -p -a x64 | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-x64'
shell: bash
- run: ./setup.sh -t -p -a x64 stable | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-x64'
shell: bash
- run: ./setup.sh -t -p -a x64 beta | grep '/Users/runner/hostedtoolcache/flutter/beta-3.9.0-0.1.pre-x64'
shell: bash
- run: ./setup.sh -t -p -a x64 dev | grep '/Users/runner/hostedtoolcache/flutter/dev-2.11.0-0.1.pre-x64'
shell: bash
- run: ./setup.sh -t -p -a x64 master | grep '/Users/runner/hostedtoolcache/flutter/master-any-x64'
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:-:hash:' | grep 'custom-stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash shell: bash
- run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:sha256:' -a x64 | grep 'custom-stable-3.7.7-78957b52f023a0d811add27eddc59b1a59d27d2ada5df123f39d0315708fb2d5' - run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:sha256:' | grep 'custom-stable-3.7.7-0511b9f164a62f467b063e6c83d9c683bb3fb056ee556b2f45e987a2c2f4a260'
shell: bash shell: bash
- run: ./setup.sh -t -p -c '/tmp/flutter/:channel:-:version:-:hash:' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da' - run: ./setup.sh -t -p -c '/tmp/flutter/:channel:-:version:-:hash:' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da'
shell: bash shell: bash

View File

@@ -3,6 +3,8 @@
Flutter environment for use in GitHub Actions. It works on Linux, Windows, and Flutter environment for use in GitHub Actions. It works on Linux, Windows, and
macOS. macOS.
Originally created by [Alif Rachmawadi]. Maintained by [Bartek Pacia].
The following sections show how to configure this action. The following sections show how to configure this action.
## Specifying Flutter version ## Specifying Flutter version
@@ -58,10 +60,12 @@ steps:
> flutter: ">= 3.19.0 <4.0.0" > flutter: ">= 3.19.0 <4.0.0"
> ``` > ```
> [!WARNING] > [!NOTE]
> >
> Using `flutter-version-file` requires [`yq`](https://github.com/mikefarah/yq), > Using `flutter-version-file` requires [`yq`](https://github.com/mikefarah/yq),
> which is not pre-installed in `windows` images. Install it yourself. > which is not pre-installed in `windows` runners. Fortunately, since version
> 2.18.0, this action installs `yq` automatically, so no action is required from
> you.
### Use latest release for particular channel ### Use latest release for particular channel
@@ -118,7 +122,61 @@ steps:
- run: flutter --version - run: flutter --version
``` ```
## Build Target ### Use alternative Flutter repository
This action supports "alternative Flutters" in addition to the official
[`flutter/flutter`](https://github.com/flutter/flutter), for example:
- [Flock](https://github.com/join-the-flock/flock.git)
- [a Flutter fork that supports
HarmonyOS](https://gitee.com/harmonycommando_flutter/flutter.git)
```yaml
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: master
flutter-version: 3.24.0
git-source: https://github.com/join-the-flock/flock.git
- run: flutter --version
```
> [!NOTE]
>
> This feature was implemented in
> [#344](https://github.com/subosito/flutter-action/pull/334) and is available
> since v2.18.0.
### Apply a patch
Sometimes you find a bug in Flutter and you fix it yourself (you're a
rockstar!), and then submit a patch/PR to Flutter repository. However, everyone
knows that code review takes time, but your app needs the fix _now_.
You can apply your patch like this:
```yaml
steps:
- name: Clone repository
uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: 3.22.2
channel: stable
- run: |
flutter --version
cd ${{ env.FLUTTER_ROOT }}
curl https://patch-diff.githubusercontent.com/raw/flutter/flutter/pull/137874.patch | git apply
git status
```
> [!NOTE]
>
> This was first discussed in [this issue](https://github.com/subosito/flutter-action/issues/310).
## Build targets
Build **Android** APK and app bundle: Build **Android** APK and app bundle:
@@ -129,7 +187,7 @@ steps:
- name: Set up Flutter - name: Set up Flutter
uses: subosito/flutter-action@v2 uses: subosito/flutter-action@v2
with: with:
flutter-version: 3.19.0 flutter-version: 3.24.0
- run: flutter pub get - run: flutter pub get
- run: flutter test - run: flutter test
- run: flutter build apk - run: flutter build apk
@@ -305,11 +363,5 @@ steps:
echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }} echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}
shell: bash shell: bash
``` ```
## Maintainers
- [Alif Rachmawadi] (original creator)
- [Bartek Pacia]
[Alif Rachmawadi]: https://github.com/subosito [Alif Rachmawadi]: https://github.com/subosito
[Bartek Pacia]: https://github.com/bartekpacia [Bartek Pacia]: https://github.com/bartekpacia

View File

@@ -46,6 +46,10 @@ inputs:
description: If true, get outputs but do not install Flutter description: If true, get outputs but do not install Flutter
required: false required: false
default: "false" default: "false"
git-source:
description: Git clone source
required: false
default: "https://github.com/flutter/flutter.git"
outputs: outputs:
CHANNEL: CHANNEL:
@@ -69,10 +73,21 @@ outputs:
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 description: Path to pub cache
GIT_SOURCE:
value: "${{ steps.flutter-action.outputs.GIT_SOURCE }}"
description: Git source of Flutter SDK repository to clone
runs: runs:
using: composite using: composite
steps: steps:
# This is a cross-platform composite action that needs yq.
# It's not preinstalled on Windows runners.
# See https://github.com/actions/runner-images/issues/7443#issuecomment-1514597691
- name: Make yq tool available on Windows runners
if: runner.os == 'Windows'
run: choco install yq
shell: bash
- name: Make setup script executable - name: Make setup script executable
run: chmod +x "$GITHUB_ACTION_PATH/setup.sh" run: chmod +x "$GITHUB_ACTION_PATH/setup.sh"
shell: bash shell: bash
@@ -89,6 +104,7 @@ runs:
-c '${{ inputs.cache-path }}' \ -c '${{ inputs.cache-path }}' \
-l '${{ inputs.pub-cache-key }}' \ -l '${{ inputs.pub-cache-key }}' \
-d '${{ inputs.pub-cache-path }}' \ -d '${{ inputs.pub-cache-path }}' \
-g '${{ inputs.git-source }}' \
${{ inputs.channel }} ${{ inputs.channel }}
- name: Cache Flutter - name: Cache Flutter
@@ -97,8 +113,6 @@ runs:
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: |
${{ steps.flutter-action.outputs.CACHE-KEY }}
- name: Cache pub dependencies - name: Cache pub dependencies
uses: actions/cache@v4 uses: actions/cache@v4
@@ -106,9 +120,6 @@ runs:
with: with:
path: ${{ steps.flutter-action.outputs.PUB-CACHE-PATH }} path: ${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}
key: ${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}-${{ hashFiles('**/pubspec.lock') }} key: ${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}-${{ hashFiles('**/pubspec.lock') }}
restore-keys: |
${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}-${{ hashFiles('**/pubspec.lock') }}
${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}
- name: Run setup script - name: Run setup script
shell: bash shell: bash
@@ -118,4 +129,5 @@ runs:
-n '${{ steps.flutter-action.outputs.VERSION }}' \ -n '${{ steps.flutter-action.outputs.VERSION }}' \
-a '${{ steps.flutter-action.outputs.ARCHITECTURE }}' \ -a '${{ steps.flutter-action.outputs.ARCHITECTURE }}' \
-c '${{ steps.flutter-action.outputs.CACHE-PATH }}' \ -c '${{ steps.flutter-action.outputs.CACHE-PATH }}' \
-d '${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}' \
${{ steps.flutter-action.outputs.CHANNEL }} ${{ steps.flutter-action.outputs.CHANNEL }}

View File

@@ -78,8 +78,9 @@ TEST_MODE=false
ARCH="" ARCH=""
VERSION="" VERSION=""
VERSION_FILE="" VERSION_FILE=""
GIT_SOURCE=""
while getopts 'tc:k:d:l:pa:n:f:' flag; do while getopts 'tc:k:d:l:pa:n:f:g:' flag; do
case "$flag" in case "$flag" in
c) CACHE_PATH="$OPTARG" ;; c) CACHE_PATH="$OPTARG" ;;
k) CACHE_KEY="$OPTARG" ;; k) CACHE_KEY="$OPTARG" ;;
@@ -96,6 +97,7 @@ while getopts 'tc:k:d:l:pa:n:f:' flag; do
exit 1 exit 1
fi fi
;; ;;
g) GIT_SOURCE="$OPTARG" ;;
?) exit 2 ;; ?) exit 2 ;;
esac esac
done done
@@ -121,6 +123,7 @@ CHANNEL="${ARR_CHANNEL[0]:-}"
[ -z "$CACHE_KEY" ] && CACHE_KEY="flutter-:os:-:channel:-:version:-:arch:-:hash:" [ -z "$CACHE_KEY" ] && CACHE_KEY="flutter-:os:-:channel:-:version:-:arch:-:hash:"
[ -z "$PUB_CACHE_KEY" ] && PUB_CACHE_KEY="flutter-pub-:os:-:channel:-:version:-:arch:-:hash:" [ -z "$PUB_CACHE_KEY" ] && PUB_CACHE_KEY="flutter-pub-:os:-:channel:-:version:-:arch:-:hash:"
[ -z "$PUB_CACHE_PATH" ] && PUB_CACHE_PATH="default" [ -z "$PUB_CACHE_PATH" ] && PUB_CACHE_PATH="default"
[ -z "$GIT_SOURCE" ] && GIT_SOURCE="https://github.com/flutter/flutter.git"
# `PUB_CACHE` is what Dart and Flutter looks for in the environment, while # `PUB_CACHE` is what Dart and Flutter looks for in the environment, while
# `PUB_CACHE_PATH` is passed in from the action. # `PUB_CACHE_PATH` is passed in from the action.
@@ -213,7 +216,7 @@ fi
if [ ! -x "$CACHE_PATH/bin/flutter" ]; then if [ ! -x "$CACHE_PATH/bin/flutter" ]; then
if [ "$CHANNEL" = "master" ] || [ "$CHANNEL" = "main" ]; then if [ "$CHANNEL" = "master" ] || [ "$CHANNEL" = "main" ]; then
git clone -b "$CHANNEL" https://github.com/flutter/flutter.git "$CACHE_PATH" git clone -b "$CHANNEL" "$GIT_SOURCE" "$CACHE_PATH"
if [ "$VERSION" != "any" ]; then if [ "$VERSION" != "any" ]; then
git config --global --add safe.directory "$CACHE_PATH" git config --global --add safe.directory "$CACHE_PATH"
(cd "$CACHE_PATH" && git checkout "$VERSION") (cd "$CACHE_PATH" && git checkout "$VERSION")