Compare commits
60 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
395322a6cd | ||
|
|
02d6ac3427 | ||
|
|
e938fdf565 | ||
|
|
bcafcd664b | ||
|
|
1177d931c8 | ||
|
|
ce3cf2160d | ||
|
|
f2c4f6686c | ||
|
|
fd476281dd | ||
|
|
799318a131 | ||
|
|
8535a80ce0 | ||
|
|
7642db7052 | ||
|
|
74af56c5ed | ||
|
|
9bc1d83fda | ||
|
|
bcec24ecf7 | ||
|
|
94b32dd006 | ||
|
|
44ac965b96 | ||
|
|
980391a6c5 | ||
|
|
3d80492992 | ||
|
|
0ef13f12a5 | ||
|
|
7564de34b3 | ||
|
|
2b3ab6c7da | ||
|
|
49cd17165c | ||
|
|
cf12a39989 | ||
|
|
cea4cf68a1 | ||
|
|
043862d930 | ||
|
|
e70699e140 | ||
|
|
766e0c11bc | ||
|
|
7d86479cec | ||
|
|
86d4518859 | ||
|
|
e2c456ecd7 | ||
|
|
46719f5374 | ||
|
|
54a6ca61b1 | ||
|
|
d3969fb775 | ||
|
|
d32931db2f | ||
|
|
ab382cfb66 | ||
|
|
1c5eb12d81 | ||
|
|
d1e0151b5f | ||
|
|
62f096cacd | ||
|
|
844082558d | ||
|
|
14bf5302ef | ||
|
|
02b923c0e1 | ||
|
|
aa6d9b9844 | ||
|
|
2783a3f08e | ||
|
|
c33c37022b | ||
|
|
cc97e1648f | ||
|
|
ed388baf1d | ||
|
|
48cafc2471 | ||
|
|
1508160852 | ||
|
|
88cab4064b | ||
|
|
55a58f6493 | ||
|
|
d369dd765d | ||
|
|
42b3ed07e1 | ||
|
|
8dbc29a898 | ||
|
|
ed0e860e8f | ||
|
|
37734c707c | ||
|
|
b1ba330d99 | ||
|
|
43c32c5d3a | ||
|
|
dbf1fa04f4 | ||
|
|
1e6ee87cb8 | ||
|
|
45dd344cec |
1
.github/FUNDING.yaml
vendored
Normal file
1
.github/FUNDING.yaml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
github: [subosito]
|
||||
278
.github/workflows/workflow.yaml
vendored
Normal file
278
.github/workflows/workflow.yaml
vendored
Normal file
@@ -0,0 +1,278 @@
|
||||
name: test
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
pull_request:
|
||||
paths:
|
||||
- setup.sh
|
||||
- action.yaml
|
||||
- .github/workflows/workflow.yaml
|
||||
jobs:
|
||||
lint_shellcheck:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Run shellcheck
|
||||
uses: ludeeus/action-shellcheck@master
|
||||
|
||||
test_channel:
|
||||
runs-on: ${{ matrix.operating-system }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system:
|
||||
- ubuntu-latest
|
||||
- windows-latest
|
||||
- macos-latest
|
||||
- macos-13
|
||||
channel: [stable, beta, master]
|
||||
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:
|
||||
- operating-system: ubuntu-latest
|
||||
channel: main
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- id: flutter-action
|
||||
uses: ./
|
||||
with:
|
||||
channel: ${{ matrix.channel }}
|
||||
dry-run: ${{ matrix.dry-run }}
|
||||
git-source: ${{ matrix.git-source }}
|
||||
- name: Echo outputs
|
||||
run: |
|
||||
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
|
||||
if: ${{ matrix.dry-run != true }}
|
||||
shell: bash
|
||||
- run: flutter --version
|
||||
if: ${{ matrix.dry-run != true }}
|
||||
shell: bash
|
||||
- run: "! dart --version"
|
||||
if: ${{ matrix.dry-run == true }}
|
||||
shell: bash
|
||||
- run: "! flutter --version"
|
||||
if: ${{ matrix.dry-run == true }}
|
||||
shell: bash
|
||||
|
||||
test_cache:
|
||||
runs-on: ${{ matrix.operating-system }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system:
|
||||
[ubuntu-latest, windows-latest, macos-latest, macos-13]
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- uses: ./
|
||||
with:
|
||||
channel: stable
|
||||
flutter-version: 3.10.6
|
||||
cache: true
|
||||
- run: dart --version
|
||||
shell: bash
|
||||
- run: flutter --version
|
||||
shell: bash
|
||||
|
||||
test_version_file:
|
||||
runs-on: ${{ matrix.operating-system }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system: [ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- uses: ./
|
||||
with:
|
||||
channel: stable
|
||||
flutter-version-file: test/pubspec.yaml
|
||||
- name: Verify Dart version
|
||||
run: dart --version | grep '2.18.6'
|
||||
shell: bash
|
||||
- name: Verify Flutter version
|
||||
run: flutter --version | grep '3.3.10'
|
||||
shell: bash
|
||||
|
||||
test_print_output_x64:
|
||||
runs-on: ubuntu-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 'x64'
|
||||
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
|
||||
- run: ./setup.sh -t -p -n 2 stable | grep '2.10.5'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 2 beta | grep '2.13.0-0.4.pre'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 2 any | grep 'beta'
|
||||
shell: bash
|
||||
- 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
|
||||
- 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 -a arm64 any | grep 'arm64'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n any -a arm64 stable | grep 'stable'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n any -a arm64 stable | grep '3.7.7'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n any -a arm64 stable | grep 'arm64'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p | grep 'flutter-macos-stable-3.7.7-arm64-2ad6cd72c040113b47ee9055e722606a490ef0da'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p stable | grep 'flutter-macos-stable-3.7.7-arm64-2ad6cd72c040113b47ee9055e722606a490ef0da'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p beta | grep 'flutter-macos-beta-3.9.0-0.1.pre-arm64-8b9b90e75107181aadc303d8d7422205863a35dd'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p master | grep 'flutter-macos-master-any-arm64-master'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 5b12b74 master | grep 'flutter-macos-master-5b12b74-arm64-master'
|
||||
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-arm64-master'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n stable master | grep 'flutter-macos-master-stable-arm64-master'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-arm64'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p stable | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-arm64'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p beta | grep '/Users/runner/hostedtoolcache/flutter/beta-3.9.0-0.1.pre-arm64'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p master | grep '/Users/runner/hostedtoolcache/flutter/master-any-arm64'
|
||||
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-0511b9f164a62f467b063e6c83d9c683bb3fb056ee556b2f45e987a2c2f4a260'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -c '/tmp/flutter/:channel:-:version:-:hash:' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da'
|
||||
shell: bash
|
||||
147
.github/workflows/workflow.yml
vendored
147
.github/workflows/workflow.yml
vendored
@@ -1,147 +0,0 @@
|
||||
name: Main workflow
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
pull_request:
|
||||
paths:
|
||||
- setup.sh
|
||||
- action.yml
|
||||
jobs:
|
||||
lint_shellcheck:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: ludeeus/action-shellcheck@master
|
||||
test_channel:
|
||||
runs-on: ${{ matrix.operating-system }}
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system: [ubuntu-latest, windows-latest, macos-latest]
|
||||
channel: [stable, beta, master]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- id: flutter-action
|
||||
uses: ./
|
||||
with:
|
||||
channel: ${{ matrix.channel }}
|
||||
- name: Echo outputs
|
||||
run: |
|
||||
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:
|
||||
runs-on: ${{ matrix.operating-system }}
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system: [ubuntu-latest, windows-latest, macos-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: ./
|
||||
with:
|
||||
channel: stable
|
||||
cache: true
|
||||
- run: dart --version
|
||||
shell: bash
|
||||
- run: flutter --version
|
||||
shell: bash
|
||||
test_print_output:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- run: ./setup.sh -t -p | grep 'stable'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p | grep '3.0.5'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p | grep 'x64'
|
||||
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.1.0-9.0.pre'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p master | grep 'master'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 2 stable | grep '2.10.5'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 2 beta | grep '2.13.0-0.4.pre'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 2 any | grep 'beta'
|
||||
shell: bash
|
||||
- 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 'stable'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 3 any | grep '3.0.5'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 3 -a arm64 any | grep 'arm64'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n any -a arm64 stable | grep 'stable'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n any -a arm64 stable | grep '3.0.5'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n any -a arm64 stable | grep 'arm64'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 1 stable | grep '1.22.6'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n v1 stable | grep 'v1.12.13+hotfix.9'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 0 any | grep 'beta'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 0 any | grep 'v0.11.13'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n v0 any | grep 'beta'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n v0 any | grep 'v0.11.13'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p | grep 'flutter-macos-stable-3.0.5-x64-f1875d570e39de09040c8f79aa13cc56baab8db1'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p stable | grep 'flutter-macos-stable-3.0.5-x64-f1875d570e39de09040c8f79aa13cc56baab8db1'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p beta | grep 'flutter-macos-beta-3.1.0-9.0.pre-x64-f28e570c8cb12a004fae2d796d0d9cd46603bde9'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p master | grep 'flutter-macos-master-master-x64-master'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 2 stable | grep 'flutter-macos-stable-2.10.5-x64-5464c5bac742001448fe4fc0597be939379f88ea'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 2 beta | grep 'flutter-macos-beta-2.13.0-0.4.pre-x64-25caf1461b8f643092a9f6f5b224453b5c057d10'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 2 any | grep 'flutter-macos-beta-2.13.0-0.4.pre-x64-25caf1461b8f643092a9f6f5b224453b5c057d10'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 3 any | grep 'flutter-macos-stable-3.0.5-x64-f1875d570e39de09040c8f79aa13cc56baab8db1'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 3 -a arm64 any | grep 'flutter-macos-stable-3.0.5-arm64-f1875d570e39de09040c8f79aa13cc56baab8db1'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n any -a arm64 stable | grep 'flutter-macos-stable-3.0.5-arm64-f1875d570e39de09040c8f79aa13cc56baab8db1'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 1 stable | grep 'flutter-macos-stable-1.22.6-x64-9b2d32b605630f28625709ebd9d78ab3016b2bf6'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n v1 stable | grep 'flutter-macos-stable-v1.12.13+hotfix.9-x64-f139b11009aeb8ed2a3a3aa8b0066e482709dde3'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n 0 any | grep 'flutter-macos-beta-v0.11.13-x64-58c8489fcdb4e4ef6c010117584c9b23d15221aa'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -n v0 any | grep 'flutter-macos-beta-v0.11.13-x64-58c8489fcdb4e4ef6c010117584c9b23d15221aa'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p | grep '/Users/runner/work/_temp/flutter/stable-3.0.5-x64'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p stable | grep '/Users/runner/work/_temp/flutter/stable-3.0.5-x64'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p beta | grep '/Users/runner/work/_temp/flutter/beta-3.1.0-9.0.pre-x64'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p master | grep '/Users/runner/work/_temp/flutter/master-master-x64'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:hash:' | grep 'custom-stable-3.0.5-f1875d570e39de09040c8f79aa13cc56baab8db1'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:sha256:' | grep 'custom-stable-3.0.5-e79a04dcfd1b583e5831433fc200800ba0d1e9fe4567cb661479bd2542d4c685'
|
||||
shell: bash
|
||||
- run: ./setup.sh -t -p -c '/tmp/flutter/:channel:-:version:-:hash:' | grep '/tmp/flutter/stable-3.0.5-f1875d570e39de09040c8f79aa13cc56baab8db1'
|
||||
shell: bash
|
||||
428
README.md
428
README.md
@@ -1,169 +1,332 @@
|
||||
# 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.
|
||||
|
||||
## Usage
|
||||
Originally created by [Alif Rachmawadi]. Maintained by [Bartek Pacia].
|
||||
|
||||
Use specific version and channel:
|
||||
The following sections show how to configure this action.
|
||||
|
||||
## Specifying Flutter version
|
||||
|
||||
### Use specific version and channel
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: '3.0.5'
|
||||
channel: 'stable'
|
||||
- run: flutter --version
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
flutter-version: 3.19.0
|
||||
- run: flutter --version
|
||||
```
|
||||
|
||||
Use latest release for particular channel:
|
||||
### Use version from pubspec.yaml
|
||||
|
||||
This is inspired by [`actions/setup-go`](https://github.com/actions/setup-go).
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: 'stable' # or: 'beta', 'dev' or 'master'
|
||||
- run: flutter --version
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
flutter-version-file: pubspec.yaml # path to pubspec.yaml
|
||||
- run: flutter --version
|
||||
```
|
||||
|
||||
Use latest release for particular version and/or channel:
|
||||
> [!IMPORTANT]
|
||||
>
|
||||
> For `flutter-version-file` to work, you need to have the exact Flutter version
|
||||
> defined in your pubspec.yaml:
|
||||
>
|
||||
> **Good**
|
||||
>
|
||||
> ```yaml
|
||||
> environment:
|
||||
> sdk: ">=3.3.0 <4.0.0"
|
||||
> flutter: 3.19.0
|
||||
> ```
|
||||
>
|
||||
> **Bad**
|
||||
>
|
||||
> ```yaml
|
||||
> environment:
|
||||
> sdk: ">=3.3.0 <4.0.0"
|
||||
> flutter: ">= 3.19.0 <4.0.0"
|
||||
> ```
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> Using `flutter-version-file` requires [`yq`](https://github.com/mikefarah/yq),
|
||||
> which is not pre-installed in `windows` runners. Fortunately, since version
|
||||
> 2.18.0, this action installs `yq` automatically if `flutter-version-file`
|
||||
> is specified, so no action is required from you.
|
||||
|
||||
### Use latest release for particular channel
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: '1.22.x' # or, you can use 1.22
|
||||
channel: 'dev'
|
||||
- run: flutter --version
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable # or: beta, master (or main)
|
||||
- run: flutter --version
|
||||
```
|
||||
|
||||
Use particular version on any channel:
|
||||
### Use latest release for particular version and/or channel
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: '2.x'
|
||||
channel: 'any'
|
||||
- run: flutter --version
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: dev
|
||||
flutter-version: 1.22.x
|
||||
- run: flutter --version
|
||||
```
|
||||
|
||||
Build Android APK and app bundle:
|
||||
### Use particular version on any channel
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: 'zulu'
|
||||
java-version: '11'
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: '3.0.5'
|
||||
- run: flutter pub get
|
||||
- run: flutter test
|
||||
- run: flutter build apk
|
||||
- run: flutter build appbundle
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: any
|
||||
flutter-version: 3.x
|
||||
- run: flutter --version
|
||||
```
|
||||
|
||||
Build for iOS (macOS only):
|
||||
### Use particular git reference on master channel
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: master
|
||||
flutter-version: 5b12b74 # tag, commit or branch
|
||||
- run: flutter --version
|
||||
```
|
||||
|
||||
### Use a Flutter mirror by set ENV
|
||||
|
||||
You can get more infomation from [Flutter official docs](https://docs.flutter.dev/community/china).
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
env:
|
||||
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: master
|
||||
flutter-version: 5b12b74 # tag, commit or branch
|
||||
- run: flutter --version
|
||||
```
|
||||
|
||||
### 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:
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: 3.24.0
|
||||
- run: flutter pub get
|
||||
- run: flutter test
|
||||
- run: flutter build apk
|
||||
- run: flutter build appbundle
|
||||
```
|
||||
|
||||
### Build for iOS
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> Building for iOS requires a macOS runner.
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
build:
|
||||
main:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: 'stable'
|
||||
architecture: x64
|
||||
- run: flutter pub get
|
||||
- run: flutter test
|
||||
- run: flutter build ios --release --no-codesign
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
- run: flutter pub get
|
||||
- run: flutter test
|
||||
- run: flutter build ios --release --no-codesign
|
||||
```
|
||||
|
||||
Build for the web:
|
||||
### Build for the web
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: 'stable'
|
||||
- run: flutter pub get
|
||||
- run: flutter test
|
||||
- run: flutter build web
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
- run: flutter pub get
|
||||
- run: flutter test
|
||||
- run: flutter build web
|
||||
```
|
||||
|
||||
Build for Windows:
|
||||
### Build for Windows
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: 'beta'
|
||||
- run: flutter config --enable-windows-desktop
|
||||
- run: flutter build windows
|
||||
main:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
- run: flutter build windows
|
||||
```
|
||||
|
||||
Build for Linux desktop:
|
||||
### Build for Linux desktop
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: 'stable'
|
||||
- run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y ninja-build libgtk-3-dev
|
||||
- run: flutter config --enable-linux-desktop
|
||||
- run: flutter build linux
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
- run: |
|
||||
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
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> Building for macOS requires a macOS runner.
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: 'stable'
|
||||
architecture: x64
|
||||
- run: flutter config --enable-macos-desktop
|
||||
- run: flutter build macos
|
||||
main:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
- run: flutter build macos
|
||||
```
|
||||
|
||||
Integration with `actions/cache`:
|
||||
## Caching
|
||||
|
||||
Integration with [`actions/cache`](https://github.com/actions/cache):
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: 'stable'
|
||||
cache: true
|
||||
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:' # optional, change this to force refresh cache
|
||||
cache-path: ${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch: # optional, change this to specify the cache path
|
||||
architecture: x64 # optional, x64 or arm64
|
||||
- run: flutter --version
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
cache: true
|
||||
# optional parameters follow
|
||||
cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" # optional, change this to force refresh cache
|
||||
cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" # optional, change this to specify the cache path
|
||||
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` 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:`
|
||||
- `:channel:`
|
||||
@@ -176,16 +339,47 @@ Use outputs from `flutter-action`:
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- id: flutter-action
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: 'stable'
|
||||
- run: |
|
||||
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
|
||||
- name: Clone repository
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
id: flutter-action
|
||||
with:
|
||||
channel: stable
|
||||
- name: Print outputs
|
||||
shell: bash
|
||||
run: |
|
||||
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 }}
|
||||
echo PUB-CACHE-PATH=${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}
|
||||
echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}
|
||||
```
|
||||
|
||||
If you don't need to install Flutter and just want the outputs, you can use the
|
||||
`dry-run` option:
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- name: Clone repository
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
id: flutter-action
|
||||
with:
|
||||
channel: stable
|
||||
dry-run: true
|
||||
- run: |
|
||||
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 }}
|
||||
echo PUB-CACHE-PATH=${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}
|
||||
echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}
|
||||
shell: bash
|
||||
```
|
||||
[Alif Rachmawadi]: https://github.com/subosito
|
||||
[Bartek Pacia]: https://github.com/bartekpacia
|
||||
|
||||
134
action.yaml
Normal file
134
action.yaml
Normal file
@@ -0,0 +1,134 @@
|
||||
name: Set up Flutter
|
||||
description: Setup your runner with Flutter environment
|
||||
author: Alif Rachmawadi
|
||||
branding:
|
||||
icon: maximize
|
||||
color: blue
|
||||
|
||||
inputs:
|
||||
channel:
|
||||
description: The Flutter build release channel
|
||||
required: false
|
||||
default: stable
|
||||
flutter-version:
|
||||
description: The Flutter version to make available on the path
|
||||
required: false
|
||||
default: ""
|
||||
flutter-version-file:
|
||||
description: The pubspec.yaml file with exact Flutter version defined
|
||||
required: false
|
||||
default: ""
|
||||
architecture:
|
||||
description: The architecture of Flutter SDK executable (x64 or arm64)
|
||||
required: false
|
||||
default: "${{ runner.arch }}"
|
||||
cache:
|
||||
description: Cache the Flutter SDK
|
||||
required: false
|
||||
default: "false"
|
||||
cache-key:
|
||||
description: Identifier for the Flutter SDK cache
|
||||
required: false
|
||||
default: ""
|
||||
cache-path:
|
||||
description: Flutter SDK cache path
|
||||
required: false
|
||||
default: ""
|
||||
pub-cache-key:
|
||||
description: Identifier for the Dart .pub-cache cache
|
||||
required: false
|
||||
default: ""
|
||||
pub-cache-path:
|
||||
description: Flutter pub cache path
|
||||
required: false
|
||||
default: default
|
||||
dry-run:
|
||||
description: If true, get outputs but do not install Flutter
|
||||
required: false
|
||||
default: "false"
|
||||
git-source:
|
||||
description: Git clone source
|
||||
required: false
|
||||
default: "https://github.com/flutter/flutter.git"
|
||||
|
||||
outputs:
|
||||
CHANNEL:
|
||||
value: "${{ steps.flutter-action.outputs.CHANNEL }}"
|
||||
description: The selected Flutter release channel
|
||||
VERSION:
|
||||
value: "${{ steps.flutter-action.outputs.VERSION }}"
|
||||
description: The selected Flutter version
|
||||
ARCHITECTURE:
|
||||
value: "${{ steps.flutter-action.outputs.ARCHITECTURE }}"
|
||||
description: The selected Flutter CPU architecture
|
||||
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
|
||||
PUB-CACHE-KEY:
|
||||
value: "${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}"
|
||||
description: Key used to cache the pub dependencies
|
||||
PUB-CACHE-PATH:
|
||||
value: "${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}"
|
||||
description: Path to pub cache
|
||||
GIT_SOURCE:
|
||||
value: "${{ steps.flutter-action.outputs.GIT_SOURCE }}"
|
||||
description: Git source of Flutter SDK repository to clone
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
# This is a cross-platform composite action that needs yq in order to parse
|
||||
# the pubspec.yaml file.
|
||||
# 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' && inputs.flutter-version-file != ''
|
||||
run: choco install yq
|
||||
shell: bash
|
||||
|
||||
- name: Make setup script executable
|
||||
run: chmod +x "$GITHUB_ACTION_PATH/setup.sh"
|
||||
shell: bash
|
||||
|
||||
- name: Set action inputs
|
||||
id: flutter-action
|
||||
shell: bash
|
||||
run: |
|
||||
$GITHUB_ACTION_PATH/setup.sh -p \
|
||||
-n '${{ inputs.flutter-version }}' \
|
||||
-f '${{ inputs.flutter-version-file }}' \
|
||||
-a '${{ inputs.architecture }}' \
|
||||
-k '${{ inputs.cache-key }}' \
|
||||
-c '${{ inputs.cache-path }}' \
|
||||
-l '${{ inputs.pub-cache-key }}' \
|
||||
-d '${{ inputs.pub-cache-path }}' \
|
||||
-g '${{ inputs.git-source }}' \
|
||||
${{ inputs.channel }}
|
||||
|
||||
- name: Cache Flutter
|
||||
uses: actions/cache@v4
|
||||
if: ${{ inputs.cache == 'true' }}
|
||||
with:
|
||||
path: ${{ steps.flutter-action.outputs.CACHE-PATH }}
|
||||
key: ${{ steps.flutter-action.outputs.CACHE-KEY }}
|
||||
|
||||
- name: Cache pub dependencies
|
||||
uses: actions/cache@v4
|
||||
if: ${{ inputs.cache == 'true' }}
|
||||
with:
|
||||
path: ${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}
|
||||
key: ${{ steps.flutter-action.outputs.PUB-CACHE-KEY }}-${{ hashFiles('**/pubspec.lock') }}
|
||||
|
||||
- name: Run setup script
|
||||
shell: bash
|
||||
if: ${{ inputs.dry-run != 'true' && inputs.dry-run != true }}
|
||||
run: |
|
||||
$GITHUB_ACTION_PATH/setup.sh \
|
||||
-n '${{ steps.flutter-action.outputs.VERSION }}' \
|
||||
-a '${{ steps.flutter-action.outputs.ARCHITECTURE }}' \
|
||||
-c '${{ steps.flutter-action.outputs.CACHE-PATH }}' \
|
||||
-d '${{ steps.flutter-action.outputs.PUB-CACHE-PATH }}' \
|
||||
${{ steps.flutter-action.outputs.CHANNEL }}
|
||||
55
action.yml
55
action.yml
@@ -1,55 +0,0 @@
|
||||
name: 'Flutter action'
|
||||
description: 'Setup your runner with Flutter environment'
|
||||
author: 'Alif Rachmawadi'
|
||||
branding:
|
||||
icon: 'maximize'
|
||||
color: 'blue'
|
||||
inputs:
|
||||
flutter-version:
|
||||
description: 'The Flutter version to make available on the path'
|
||||
required: false
|
||||
default: 'any'
|
||||
channel:
|
||||
description: 'The Flutter build release channel'
|
||||
required: false
|
||||
default: 'stable'
|
||||
cache:
|
||||
description: 'Cache the Flutter SDK'
|
||||
required: false
|
||||
default: false
|
||||
cache-key:
|
||||
description: 'Identifier for the Flutter SDK cache'
|
||||
required: false
|
||||
default: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
|
||||
cache-path:
|
||||
description: 'Flutter SDK cache path'
|
||||
required: false
|
||||
default: '${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:'
|
||||
architecture:
|
||||
description: 'The architecture of Flutter SDK executable (x64 or arm64)'
|
||||
required: false
|
||||
default: '${{ runner.arch }}'
|
||||
outputs:
|
||||
cache-path:
|
||||
value: '${{ steps.flutter-action.outputs.cache-path }}'
|
||||
cache-key:
|
||||
value: '${{ steps.flutter-action.outputs.cache-key }}'
|
||||
channel:
|
||||
value: '${{ steps.flutter-action.outputs.channel }}'
|
||||
version:
|
||||
value: '${{ steps.flutter-action.outputs.version }}'
|
||||
architecture:
|
||||
value: '${{ steps.flutter-action.outputs.architecture }}'
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- id: flutter-action
|
||||
run: $GITHUB_ACTION_PATH/setup.sh -p -c '${{ inputs.cache-path }}' -n '${{ inputs.flutter-version }}' -a '${{ inputs.architecture }}' ${{ inputs.channel }}
|
||||
shell: bash
|
||||
- if: ${{ inputs.cache == 'true' }}
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ steps.flutter-action.outputs.cache-path }}
|
||||
key: ${{ steps.flutter-action.outputs.cache-key }}
|
||||
- run: $GITHUB_ACTION_PATH/setup.sh -c '${{ steps.flutter-action.outputs.cache-path }}' -n '${{ steps.flutter-action.outputs.version }}' -a '${{ steps.flutter-action.outputs.architecture }}' ${{ steps.flutter-action.outputs.channel }}
|
||||
shell: bash
|
||||
266
setup.sh
266
setup.sh
@@ -1,51 +1,31 @@
|
||||
#!/bin/bash
|
||||
set -eu
|
||||
|
||||
check_command() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
if ! check_command jq; then
|
||||
echo "jq not found, please install it, https://stedolan.github.io/jq/download/"
|
||||
echo "jq not found. Install it from https://stedolan.github.io/jq"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
OS_NAME=$(echo "$RUNNER_OS" | awk '{print tolower($0)}')
|
||||
MANIFEST_BASE_URL="https://storage.googleapis.com/flutter_infra_release/releases"
|
||||
MANIFEST_URL="$MANIFEST_BASE_URL/releases_$OS_NAME.json"
|
||||
MANIFEST_TEST_FIXTURE="$(dirname -- "${BASH_SOURCE[0]}")/test/releases_$OS_NAME.json"
|
||||
ARCH_NAME=$(echo "$RUNNER_ARCH" | awk '{print tolower($0)}')
|
||||
MANIFEST_BASE_URL="${FLUTTER_STORAGE_BASE_URL:-https://storage.googleapis.com}/flutter_infra_release/releases"
|
||||
MANIFEST_JSON_PATH="releases_$OS_NAME.json"
|
||||
MANIFEST_URL="$MANIFEST_BASE_URL/$MANIFEST_JSON_PATH"
|
||||
|
||||
legacy_wildcard_version() {
|
||||
if [[ $1 == any ]]; then
|
||||
jq --arg version "$2" '.releases | map(select(.version | startswith($version) )) | first'
|
||||
else
|
||||
jq --arg channel "$1" --arg version "$2" '.releases | map(select(.channel==$channel) | select(.version | startswith($version) )) | first'
|
||||
fi
|
||||
filter_by_channel() {
|
||||
jq --arg channel "$1" '[.releases[] | select($channel == "any" or .channel == $channel)]'
|
||||
}
|
||||
|
||||
wildcard_version() {
|
||||
if [[ $1 == any ]]; then
|
||||
jq --arg version "$2" --arg arch "$3" '.releases | map(select(.version | startswith($version)) | select(.dart_sdk_arch == null or .dart_sdk_arch == $arch)) | first'
|
||||
else
|
||||
jq --arg channel "$1" --arg version "$2" --arg arch "$3" '.releases | map(select(.channel==$channel) | select(.version | startswith($version) ) | select(.dart_sdk_arch == null or .dart_sdk_arch == $arch)) | first'
|
||||
fi
|
||||
filter_by_arch() {
|
||||
jq --arg arch "$1" '[.[] | select(.dart_sdk_arch == $arch or ($arch == "x64" and (has("dart_sdk_arch") | not)))]'
|
||||
}
|
||||
|
||||
get_version() {
|
||||
if [[ "$1" == any && "$2" == any ]]; then # latest_version
|
||||
jq --arg arch "$3" '.releases | map(select(.dart_sdk_arch == null or .dart_sdk_arch == $arch)) | first'
|
||||
elif [[ "$2" == any ]]; then # latest channel version
|
||||
jq --arg channel "$1" --arg arch "$3" '.releases | map(select(.channel==$channel) | select(.dart_sdk_arch == null or .dart_sdk_arch == $arch)) | first'
|
||||
else
|
||||
wildcard_version "$1" "$2" "$3"
|
||||
fi
|
||||
}
|
||||
|
||||
normalize_version() {
|
||||
if [[ "$1" == *.x ]]; then
|
||||
echo "${1/.x/}"
|
||||
else
|
||||
echo "$1"
|
||||
fi
|
||||
filter_by_version() {
|
||||
jq --arg version "$1" '.[].version |= gsub("^v"; "") | (if $version == "any" then .[0] else (map(select(.version == $version or (.version | startswith(($version | sub("\\.x$"; "")) + ".")) and .version != $version)) | .[0]) end)'
|
||||
}
|
||||
|
||||
not_found_error() {
|
||||
@@ -53,7 +33,7 @@ not_found_error() {
|
||||
}
|
||||
|
||||
transform_path() {
|
||||
if [[ "$OS_NAME" == windows ]]; then
|
||||
if [ "$OS_NAME" = windows ]; then
|
||||
echo "$1" | sed -e 's/^\///' -e 's/\//\\/g'
|
||||
else
|
||||
echo "$1"
|
||||
@@ -69,77 +49,121 @@ download_archive() {
|
||||
|
||||
mkdir -p "$2"
|
||||
|
||||
if [[ "$archive_name" == *zip ]]; then
|
||||
unzip -q -o "$archive_local" -d "$RUNNER_TEMP"
|
||||
case "$archive_name" in
|
||||
*.zip)
|
||||
EXTRACT_PATH="$RUNNER_TEMP/_unzip_temp"
|
||||
unzip -q -o "$archive_local" -d "$EXTRACT_PATH"
|
||||
# Remove the folder again so that the move command can do a simple rename
|
||||
# instead of moving the content into the target folder.
|
||||
# This is a little bit of a hack since the "mv --no-target-directory"
|
||||
# linux option is not available here
|
||||
rm -r "$2"
|
||||
mv "$RUNNER_TEMP"/flutter "$2"
|
||||
else
|
||||
mv "$EXTRACT_PATH"/flutter "$2"
|
||||
rm -r "$EXTRACT_PATH"
|
||||
;;
|
||||
*)
|
||||
tar xf "$archive_local" -C "$2" --strip-components=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
rm "$archive_local"
|
||||
}
|
||||
|
||||
CACHE_PATH=""
|
||||
CACHE_KEY=""
|
||||
PRINT_MODE=""
|
||||
USE_TEST_FIXTURE=false
|
||||
PUB_CACHE_PATH=""
|
||||
PUB_CACHE_KEY=""
|
||||
PRINT_ONLY=""
|
||||
TEST_MODE=false
|
||||
ARCH=""
|
||||
VERSION=""
|
||||
VERSION_FILE=""
|
||||
GIT_SOURCE=""
|
||||
|
||||
while getopts 'tc:k:pa:n:' flag; do
|
||||
while getopts 'tc:k:d:l:pa:n:f:g:' flag; do
|
||||
case "$flag" in
|
||||
c) CACHE_PATH="$OPTARG" ;;
|
||||
k) CACHE_KEY="$OPTARG" ;;
|
||||
p) PRINT_MODE=true ;;
|
||||
t) USE_TEST_FIXTURE=true ;;
|
||||
d) PUB_CACHE_PATH="$OPTARG" ;;
|
||||
l) PUB_CACHE_KEY="$OPTARG" ;;
|
||||
p) PRINT_ONLY=true ;;
|
||||
t) TEST_MODE=true ;;
|
||||
a) ARCH="$(echo "$OPTARG" | awk '{print tolower($0)}')" ;;
|
||||
n) VERSION="$OPTARG" ;;
|
||||
f)
|
||||
VERSION_FILE="$OPTARG"
|
||||
if [ -n "$VERSION_FILE" ] && ! check_command yq; then
|
||||
echo "yq not found. Install it from https://mikefarah.gitbook.io/yq"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
g) GIT_SOURCE="$OPTARG" ;;
|
||||
?) exit 2 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
[ -z "$ARCH" ] && ARCH="$ARCH_NAME"
|
||||
|
||||
if [ -n "$VERSION_FILE" ]; then
|
||||
if [ -n "$VERSION" ]; then
|
||||
echo "Cannot specify both a version and a version file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION="$(yq eval '.environment.flutter' "$VERSION_FILE")"
|
||||
fi
|
||||
|
||||
ARR_CHANNEL=("${@:$OPTIND:1}")
|
||||
CHANNEL="${ARR_CHANNEL[0]}"
|
||||
CHANNEL="${ARR_CHANNEL[0]:-}"
|
||||
|
||||
[[ -z $CHANNEL ]] && CHANNEL=stable
|
||||
[[ -z $VERSION ]] && VERSION=any
|
||||
[[ -z $ARCH ]] && ARCH=x64
|
||||
[[ -z $CACHE_PATH ]] && CACHE_PATH="$RUNNER_TEMP/flutter/:channel:-:version:-:arch:"
|
||||
[[ -z $CACHE_KEY ]] && CACHE_KEY="flutter-:os:-:channel:-:version:-:arch:-:hash:"
|
||||
[ -z "$CHANNEL" ] && CHANNEL=stable
|
||||
[ -z "$VERSION" ] && VERSION=any
|
||||
[ -z "$ARCH" ] && ARCH=x64
|
||||
[ -z "$CACHE_PATH" ] && CACHE_PATH="$RUNNER_TOOL_CACHE/flutter/:channel:-:version:-:arch:"
|
||||
[ -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_PATH" ] && PUB_CACHE_PATH="default"
|
||||
[ -z "$GIT_SOURCE" ] && GIT_SOURCE="https://github.com/flutter/flutter.git"
|
||||
|
||||
RELEASE_MANIFEST=""
|
||||
VERSION_MANIFEST=""
|
||||
|
||||
get_version_manifest() {
|
||||
version_normalized=$(normalize_version "$VERSION")
|
||||
version_manifest=$(echo "$RELEASE_MANIFEST" | get_version "$CHANNEL" "$version_normalized" "$ARCH")
|
||||
|
||||
if [[ "$version_manifest" == null ]]; then
|
||||
version_manifest=$(echo "$RELEASE_MANIFEST" | legacy_wildcard_version "$CHANNEL" "v$version_normalized")
|
||||
fi
|
||||
|
||||
version_arch=$(echo "$version_manifest" | jq -r '.dart_sdk_arch')
|
||||
|
||||
if [[ "$version_arch" == null ]]; then
|
||||
if [[ "$ARCH" == x64 ]]; then
|
||||
echo "$version_manifest" | jq --arg dart_sdk_arch x64 '.+={dart_sdk_arch:$dart_sdk_arch}'
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
# `PUB_CACHE` is what Dart and Flutter looks for in the environment, while
|
||||
# `PUB_CACHE_PATH` is passed in from the action.
|
||||
#
|
||||
# If `PUB_CACHE` is set already, then it should continue to be used. Otherwise, satisfy it
|
||||
# if the action requests a custom path, or set to the Dart default values depending
|
||||
# on the operating system.
|
||||
if [ -z "${PUB_CACHE:-}" ]; then
|
||||
if [ "$PUB_CACHE_PATH" != "default" ]; then
|
||||
PUB_CACHE="$PUB_CACHE_PATH"
|
||||
elif [ "$OS_NAME" = "windows" ]; then
|
||||
PUB_CACHE="$LOCALAPPDATA\\Pub\\Cache"
|
||||
else
|
||||
echo "$version_manifest"
|
||||
PUB_CACHE="$HOME/.pub-cache"
|
||||
fi
|
||||
}
|
||||
fi
|
||||
|
||||
if [ "$TEST_MODE" = true ]; then
|
||||
RELEASE_MANIFEST=$(cat "$(dirname -- "${BASH_SOURCE[0]}")/test/$MANIFEST_JSON_PATH")
|
||||
else
|
||||
RELEASE_MANIFEST=$(curl --silent --connect-timeout 15 --retry 5 "$MANIFEST_URL")
|
||||
fi
|
||||
|
||||
if [ "$CHANNEL" = "master" ] || [ "$CHANNEL" = "main" ]; then
|
||||
VERSION_MANIFEST="{\"channel\":\"$CHANNEL\",\"version\":\"$VERSION\",\"dart_sdk_arch\":\"$ARCH\",\"hash\":\"$CHANNEL\",\"sha256\":\"$CHANNEL\"}"
|
||||
else
|
||||
VERSION_MANIFEST=$(echo "$RELEASE_MANIFEST" | filter_by_channel "$CHANNEL" | filter_by_arch "$ARCH" | filter_by_version "$VERSION")
|
||||
fi
|
||||
|
||||
case "$VERSION_MANIFEST" in
|
||||
*null*)
|
||||
not_found_error "$CHANNEL" "$VERSION" "$ARCH"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
expand_key() {
|
||||
version_channel=$(echo "$VERSION_MANIFEST" | jq -r '.channel')
|
||||
version_version=$(echo "$VERSION_MANIFEST" | jq -r '.version')
|
||||
version_arch=$(echo "$VERSION_MANIFEST" | jq -r '.dart_sdk_arch')
|
||||
version_arch=$(echo "$VERSION_MANIFEST" | jq -r '.dart_sdk_arch // "x64"')
|
||||
version_hash=$(echo "$VERSION_MANIFEST" | jq -r '.hash')
|
||||
version_sha_256=$(echo "$VERSION_MANIFEST" | jq -r '.sha256')
|
||||
|
||||
@@ -153,73 +177,63 @@ expand_key() {
|
||||
echo "$expanded_key"
|
||||
}
|
||||
|
||||
if [[ "$PRINT_MODE" == true ]]; then
|
||||
if [[ "$USE_TEST_FIXTURE" == true ]]; then
|
||||
RELEASE_MANIFEST=$(cat "$MANIFEST_TEST_FIXTURE")
|
||||
else
|
||||
RELEASE_MANIFEST=$(curl --silent --connect-timeout 15 --retry 5 "$MANIFEST_URL")
|
||||
CACHE_KEY=$(expand_key "$CACHE_KEY")
|
||||
PUB_CACHE_KEY=$(expand_key "$PUB_CACHE_KEY")
|
||||
CACHE_PATH=$(expand_key "$(transform_path "$CACHE_PATH")")
|
||||
|
||||
if [ "$PRINT_ONLY" = true ]; then
|
||||
version_info=$(echo "$VERSION_MANIFEST" | jq -j '.channel,":",.version,":",.dart_sdk_arch // "x64"')
|
||||
|
||||
info_channel=$(echo "$version_info" | awk -F ':' '{print $1}')
|
||||
info_version=$(echo "$version_info" | awk -F ':' '{print $2}')
|
||||
info_architecture=$(echo "$version_info" | awk -F ':' '{print $3}')
|
||||
|
||||
if [ "$TEST_MODE" = true ]; then
|
||||
echo "CHANNEL=$info_channel"
|
||||
echo "VERSION=$info_version"
|
||||
# VERSION_FILE is not printed, because it is essentially same as VERSION
|
||||
echo "ARCHITECTURE=$info_architecture"
|
||||
echo "CACHE-KEY=$CACHE_KEY"
|
||||
echo "CACHE-PATH=$CACHE_PATH"
|
||||
echo "PUB-CACHE-KEY=$PUB_CACHE_KEY"
|
||||
echo "PUB-CACHE-PATH=$PUB_CACHE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ "$CHANNEL" == master ]]; then
|
||||
VERSION_MANIFEST="{\"channel\":\"$CHANNEL\",\"version\":\"$CHANNEL\",\"dart_sdk_arch\":\"$ARCH\",\"hash\":\"$CHANNEL\",\"sha256\":\"$CHANNEL\"}"
|
||||
else
|
||||
VERSION_MANIFEST=$(get_version_manifest)
|
||||
fi
|
||||
{
|
||||
echo "CHANNEL=$info_channel"
|
||||
echo "VERSION=$info_version"
|
||||
# VERSION_FILE is not printed, because it is essentially same as VERSION
|
||||
echo "ARCHITECTURE=$info_architecture"
|
||||
echo "CACHE-KEY=$CACHE_KEY"
|
||||
echo "CACHE-PATH=$CACHE_PATH"
|
||||
echo "PUB-CACHE-KEY=$PUB_CACHE_KEY"
|
||||
echo "PUB-CACHE-PATH=$PUB_CACHE"
|
||||
} >>"${GITHUB_OUTPUT:-/dev/null}"
|
||||
|
||||
if [[ -z "$VERSION_MANIFEST" ]]; then
|
||||
not_found_error "$CHANNEL" "$VERSION" "$ARCH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
version_info=$(echo "$VERSION_MANIFEST" | jq -j '.channel,":",.version,":",.dart_sdk_arch')
|
||||
|
||||
if [[ "$version_info" == *null* ]]; then
|
||||
not_found_error "$CHANNEL" "$VERSION" "$ARCH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "::set-output name=channel::$(echo "$version_info" | awk -F ':' '{print $1}')"
|
||||
echo "::set-output name=version::$(echo "$version_info" | awk -F ':' '{print $2}')"
|
||||
echo "::set-output name=architecture::$(echo "$version_info" | awk -F ':' '{print $3}')"
|
||||
|
||||
expanded_key=$(expand_key "$CACHE_KEY")
|
||||
echo "::set-output name=cache-key::$expanded_key"
|
||||
|
||||
cache_path=$(transform_path "$CACHE_PATH")
|
||||
expanded_path=$(expand_key "$cache_path")
|
||||
|
||||
echo "::set-output name=cache-path::$expanded_path"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
CACHE_PATH=$(transform_path "$CACHE_PATH")
|
||||
SDK_CACHE=$(expand_key "$CACHE_PATH")
|
||||
PUB_CACHE=$(expand_key "$SDK_CACHE/.pub-cache")
|
||||
|
||||
if [[ ! -x "$SDK_CACHE/bin/flutter" ]]; then
|
||||
if [[ $CHANNEL == master ]]; then
|
||||
git clone -b master https://github.com/flutter/flutter.git "$SDK_CACHE"
|
||||
else
|
||||
RELEASE_MANIFEST=$(curl --silent --connect-timeout 15 --retry 5 "$MANIFEST_URL")
|
||||
VERSION_MANIFEST=$(get_version_manifest)
|
||||
|
||||
if [[ -z "$VERSION_MANIFEST" ]]; then
|
||||
not_found_error "$CHANNEL" "$VERSION" "$ARCH"
|
||||
exit 1
|
||||
if [ ! -x "$CACHE_PATH/bin/flutter" ]; then
|
||||
if [ "$CHANNEL" = "master" ] || [ "$CHANNEL" = "main" ]; then
|
||||
git clone -b "$CHANNEL" "$GIT_SOURCE" "$CACHE_PATH"
|
||||
if [ "$VERSION" != "any" ]; then
|
||||
git config --global --add safe.directory "$CACHE_PATH"
|
||||
(cd "$CACHE_PATH" && git checkout "$VERSION")
|
||||
fi
|
||||
|
||||
ARCHIVE_PATH=$(echo "$VERSION_MANIFEST" | jq -r '.archive')
|
||||
download_archive "$ARCHIVE_PATH" "$SDK_CACHE"
|
||||
else
|
||||
archive_url=$(echo "$VERSION_MANIFEST" | jq -r '.archive')
|
||||
download_archive "$archive_url" "$CACHE_PATH"
|
||||
fi
|
||||
fi
|
||||
|
||||
{
|
||||
echo "FLUTTER_ROOT=$SDK_CACHE"
|
||||
echo "FLUTTER_ROOT=$CACHE_PATH"
|
||||
echo "PUB_CACHE=$PUB_CACHE"
|
||||
} >>"$GITHUB_ENV"
|
||||
} >>"${GITHUB_ENV:-/dev/null}"
|
||||
|
||||
{
|
||||
echo "$SDK_CACHE/bin"
|
||||
echo "$SDK_CACHE/bin/cache/dart-sdk/bin"
|
||||
echo "$CACHE_PATH/bin"
|
||||
echo "$CACHE_PATH/bin/cache/dart-sdk/bin"
|
||||
echo "$PUB_CACHE/bin"
|
||||
} >>"$GITHUB_PATH"
|
||||
} >>"${GITHUB_PATH:-/dev/null}"
|
||||
|
||||
5
test/pubspec.yaml
Normal file
5
test/pubspec.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
name: flutter_action_test
|
||||
|
||||
environment:
|
||||
dart: ">=2.18.0 <3.0.0"
|
||||
flutter: 3.3.10
|
||||
@@ -1,11 +1,391 @@
|
||||
{
|
||||
"base_url": "https://storage.googleapis.com/flutter_infra_release/releases",
|
||||
"current_release": {
|
||||
"beta": "f28e570c8cb12a004fae2d796d0d9cd46603bde9",
|
||||
"beta": "f732038a8cf4562ce38a1d7debb30209ae3da896",
|
||||
"dev": "13a2fb10b838971ce211230f8ffdd094c14af02c",
|
||||
"stable": "f1875d570e39de09040c8f79aa13cc56baab8db1"
|
||||
"stable": "2ad6cd72c040113b47ee9055e722606a490ef0da"
|
||||
},
|
||||
"releases": [
|
||||
{
|
||||
"hash": "f732038a8cf4562ce38a1d7debb30209ae3da896",
|
||||
"channel": "beta",
|
||||
"version": "3.9.0-0.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-290.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-16T00:03:32.853116Z",
|
||||
"archive": "beta/linux/flutter_linux_3.9.0-0.1.pre-beta.tar.xz",
|
||||
"sha256": "29de474d4a1c6844f3560666d88a754dc4b4c7cafd58503f265ac4718eaf1f96"
|
||||
},
|
||||
{
|
||||
"hash": "8b9b90e75107181aadc303d8d7422205863a35dd",
|
||||
"channel": "beta",
|
||||
"version": "3.9.0-0.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-290.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-15T23:41:24.161758Z",
|
||||
"archive": "beta/linux/flutter_linux_3.9.0-0.1.pre-beta.tar.xz",
|
||||
"sha256": "15c63afafa2fd7dd6f477b31c393e7d7e2bfbe08b38c7d6de1169280aae1f9e1"
|
||||
},
|
||||
{
|
||||
"hash": "f3d140022d6a68df8b0e3776594819ce0ee94e2d",
|
||||
"channel": "beta",
|
||||
"version": "3.9.0-0.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-290.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-15T22:58:49.073713Z",
|
||||
"archive": "beta/linux/flutter_linux_3.9.0-0.1.pre-beta.tar.xz",
|
||||
"sha256": "3d5bf90f9a536ee55bf417f2b1d932c727fa6ff41af8fbe6d81d10732ded193c"
|
||||
},
|
||||
{
|
||||
"hash": "2ad6cd72c040113b47ee9055e722606a490ef0da",
|
||||
"channel": "stable",
|
||||
"version": "3.7.7",
|
||||
"dart_sdk_version": "2.19.4",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-08T20:53:23.713703Z",
|
||||
"archive": "stable/linux/flutter_linux_3.7.7-stable.tar.xz",
|
||||
"sha256": "cdd49597e88c35e5de5184e9acff433dfbb3c075b74ef7b27790af7f57ce2420"
|
||||
},
|
||||
{
|
||||
"hash": "12cb4eb7a009f52b347b62ade7cb4854b926af72",
|
||||
"channel": "stable",
|
||||
"version": "3.7.6",
|
||||
"dart_sdk_version": "2.19.3",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-01T21:08:18.329454Z",
|
||||
"archive": "stable/linux/flutter_linux_3.7.6-stable.tar.xz",
|
||||
"sha256": "6eb1d4aeabb0d7581bb1765f0da99a9773d1c65f5be634415b4c1afcea4b55b8"
|
||||
},
|
||||
{
|
||||
"hash": "c07f7888888435fd9df505aa2efc38d3cf65681b",
|
||||
"channel": "stable",
|
||||
"version": "3.7.5",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-23T04:34:22.630384Z",
|
||||
"archive": "stable/linux/flutter_linux_3.7.5-stable.tar.xz",
|
||||
"sha256": "01cad642beb492e8af8413331b50325e1430b934df7be89aa9a29ea2de8df8f0"
|
||||
},
|
||||
{
|
||||
"hash": "b4bce91dd0f168179d46a7ae5eceb3572ba9637a",
|
||||
"channel": "stable",
|
||||
"version": "3.7.4",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-21T21:31:04.792661Z",
|
||||
"archive": "stable/linux/flutter_linux_3.7.4-stable.tar.xz",
|
||||
"sha256": "698314fa9b70fda8b0769178b895f53c07a8d942e1b0cbbe220385886ea8e952"
|
||||
},
|
||||
{
|
||||
"hash": "1a0a03a41d6613c10bab23508dee456f184b181b",
|
||||
"channel": "beta",
|
||||
"version": "3.8.0-10.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-218.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-17T17:17:08.473454Z",
|
||||
"archive": "beta/linux/flutter_linux_3.8.0-10.1.pre-beta.tar.xz",
|
||||
"sha256": "7b8ac39f229ae01193ac841d6687f3df705682624c32ce2dddfab9d53d8abed3"
|
||||
},
|
||||
{
|
||||
"hash": "9944297138845a94256f1cf37beb88ff9a8e811a",
|
||||
"channel": "stable",
|
||||
"version": "3.7.3",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-09T17:02:14.171562Z",
|
||||
"archive": "stable/linux/flutter_linux_3.7.3-stable.tar.xz",
|
||||
"sha256": "7b3d2900ce0e367d73d85591d5d43a11f94a223278dd3220776b03a83e234865"
|
||||
},
|
||||
{
|
||||
"hash": "32fb2f948e9b1a2d1b876ebee3558be7f51b457f",
|
||||
"channel": "stable",
|
||||
"version": "3.7.2",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-08T18:07:14.532725Z",
|
||||
"archive": "stable/linux/flutter_linux_3.7.2-stable.tar.xz",
|
||||
"sha256": "18fa87758dc24547a2a7fc96dc6e6d5bf24b0783b06701ee9e4b09f056559688"
|
||||
},
|
||||
{
|
||||
"hash": "7048ed95a5ad3e43d697e0c397464193991fc230",
|
||||
"channel": "stable",
|
||||
"version": "3.7.1",
|
||||
"dart_sdk_version": "2.19.1",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-01T21:25:02.828380Z",
|
||||
"archive": "stable/linux/flutter_linux_3.7.1-stable.tar.xz",
|
||||
"sha256": "345f730b78bcdadbe9096a666a41b9d588f885dd94f84514bf10b9483d18c2e5"
|
||||
},
|
||||
{
|
||||
"hash": "b06b8b2710955028a6b562f5aa6fe62941d6febf",
|
||||
"channel": "stable",
|
||||
"version": "3.7.0",
|
||||
"dart_sdk_version": "2.19.0",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-24T18:52:29.276391Z",
|
||||
"archive": "stable/linux/flutter_linux_3.7.0-stable.tar.xz",
|
||||
"sha256": "51160abac1d0d82b45647be6b2a6ed2d3827d51c3920f2c8ebf3ea8cebe6f484"
|
||||
},
|
||||
{
|
||||
"hash": "099b3f4bf1581796fac3848d3381dbf2f29edbea",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.5.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.6.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-23T23:08:11.348935Z",
|
||||
"archive": "beta/linux/flutter_linux_3.7.0-1.5.pre-beta.tar.xz",
|
||||
"sha256": "7762ec53675fcb7c76361cf9a3fa33d0938abe1f522a6d67968ddfe184088fd0"
|
||||
},
|
||||
{
|
||||
"hash": "135454af32477f815a7525073027a3ff9eff1bfd",
|
||||
"channel": "stable",
|
||||
"version": "3.3.10",
|
||||
"dart_sdk_version": "2.18.6",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-23T19:48:31.546617Z",
|
||||
"archive": "stable/linux/flutter_linux_3.3.10-stable.tar.xz",
|
||||
"sha256": "4ab54d3f93ba6e0308b3176ab81843c9d3d44b126e27204aa96a339601d45aff"
|
||||
},
|
||||
{
|
||||
"hash": "686fe913dc963954b99e62048569cb9ac8e551c8",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.4.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.4.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-11T18:15:03.971610Z",
|
||||
"archive": "beta/linux/flutter_linux_3.7.0-1.4.pre-beta.tar.xz",
|
||||
"sha256": "5ff8a1643f7057cf68bacd30df6ee2c54dfc5f18be58e0a4fb20b245c73dd661"
|
||||
},
|
||||
{
|
||||
"hash": "9b4416aaa79bf984d06aa40ab515a274a50a75a7",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.3.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.3.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-05T17:47:42.981002Z",
|
||||
"archive": "beta/linux/flutter_linux_3.7.0-1.3.pre-beta.tar.xz",
|
||||
"sha256": "e45e0fd2b376a19ed77dd897ce4c30e9490968c6633a6e0fa85e44dfc83d6133"
|
||||
},
|
||||
{
|
||||
"hash": "c29b09b8782b39b1678bc9c861f40902086fb7c8",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.2.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.2.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-12-20T01:59:20.718823Z",
|
||||
"archive": "beta/linux/flutter_linux_3.7.0-1.2.pre-beta.tar.xz",
|
||||
"sha256": "f72135714f722d591f03af37d6db34fabaf2610e528b08904acbd55081b1d3a9"
|
||||
},
|
||||
{
|
||||
"hash": "e599f02c7af4aa8aba0e8e96f71c737f85be3c6e",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-12-08T18:10:44.186943Z",
|
||||
"archive": "beta/linux/flutter_linux_3.7.0-1.1.pre-beta.tar.xz",
|
||||
"sha256": "2d4a965a51a2c3b03ac98c1fce2caaccb362b1dfd4e5607cf00e8be2cc205e92"
|
||||
},
|
||||
{
|
||||
"hash": "b8f7f1f9869bb2d116aa6a70dbeac61000b52849",
|
||||
"channel": "stable",
|
||||
"version": "3.3.9",
|
||||
"dart_sdk_version": "2.18.5",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-11-23T16:40:32.603420Z",
|
||||
"archive": "stable/linux/flutter_linux_3.3.9-stable.tar.xz",
|
||||
"sha256": "5aac9006137157ecaf041beeb326e0395eed50950291553b60e07568a1454767"
|
||||
},
|
||||
{
|
||||
"hash": "75927305ff855f76a9ef704f9b4a86fa2fce7292",
|
||||
"channel": "beta",
|
||||
"version": "3.6.0-0.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-374.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-11-17T19:46:51.911076Z",
|
||||
"archive": "beta/linux/flutter_linux_3.6.0-0.1.pre-beta.tar.xz",
|
||||
"sha256": "473e2fbdd4ca5230593e679303adf429603976b143858c0261af5f5e6f081e1a"
|
||||
},
|
||||
{
|
||||
"hash": "52b3dc25f6471c27b2144594abb11c741cb88f57",
|
||||
"channel": "stable",
|
||||
"version": "3.3.8",
|
||||
"dart_sdk_version": "2.18.4",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-11-09T18:13:11.974062Z",
|
||||
"archive": "stable/linux/flutter_linux_3.3.8-stable.tar.xz",
|
||||
"sha256": "407fb5d05e9ad17604bc17ad8808b8e527f2ed64dd559d62f1538ee09b92236e"
|
||||
},
|
||||
{
|
||||
"hash": "e99c9c7cd9f6c0b2f8ae6e3ebfd585239f5568f4",
|
||||
"channel": "stable",
|
||||
"version": "3.3.7",
|
||||
"dart_sdk_version": "2.18.4",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-11-02T17:48:40.430644Z",
|
||||
"archive": "stable/linux/flutter_linux_3.3.7-stable.tar.xz",
|
||||
"sha256": "cbbb2ae24390ef19fb290314bee63bbd7c1f0dad98f1f8aab99d1c31baac07e6"
|
||||
},
|
||||
{
|
||||
"hash": "6928314d505d2bb4777be05e45d7808a5aa91d2a",
|
||||
"channel": "stable",
|
||||
"version": "3.3.6",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-10-26T16:52:00.298277Z",
|
||||
"archive": "stable/linux/flutter_linux_3.3.6-stable.tar.xz",
|
||||
"sha256": "16746e53f2d04ba6b476911e4e0e5b4ca1f8220792bb71ed71696050454ad5e7"
|
||||
},
|
||||
{
|
||||
"hash": "d9111f64021372856901a1fd5bfbc386cade3318",
|
||||
"channel": "stable",
|
||||
"version": "3.3.5",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-10-19T22:16:09.519089Z",
|
||||
"archive": "stable/linux/flutter_linux_3.3.5-stable.tar.xz",
|
||||
"sha256": "1295f2e8ee30b16fb74da71b69c5332e71fff6f14dd28db5356de63b93a4d659"
|
||||
},
|
||||
{
|
||||
"hash": "71520442d4d0d41b2d158c519928d90ddab3766f",
|
||||
"channel": "beta",
|
||||
"version": "3.4.0-34.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-255.2.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-10-06T17:12:01.834313Z",
|
||||
"archive": "beta/linux/flutter_linux_3.4.0-34.1.pre-beta.tar.xz",
|
||||
"sha256": "b3a4f76ff66150eab19b58bf4fb1fe76b0f06c257abce689703238f11c4e1547"
|
||||
},
|
||||
{
|
||||
"hash": "eb6d86ee27deecba4a83536aa20f366a6044895c",
|
||||
"channel": "stable",
|
||||
"version": "3.3.4",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-10-05T16:48:07.889310Z",
|
||||
"archive": "stable/linux/flutter_linux_3.3.4-stable.tar.xz",
|
||||
"sha256": "4a2a72f09241f8e09732d9512ff4a6987fda85640d22b5799c2ea8c016378313"
|
||||
},
|
||||
{
|
||||
"hash": "18a827f3933c19f51862dde3fa472197683249d6",
|
||||
"channel": "stable",
|
||||
"version": "3.3.3",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-28T19:51:59.024002Z",
|
||||
"archive": "stable/linux/flutter_linux_3.3.3-stable.tar.xz",
|
||||
"sha256": "31365e590529e3f4dc3f36084fa7aa20a48f50fbe7d8ca7fb61390ccd8294d78"
|
||||
},
|
||||
{
|
||||
"hash": "d6260f127fe3f88c98231243b387b48448479bff",
|
||||
"channel": "beta",
|
||||
"version": "3.4.0-17.2.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-146.2.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-21T20:26:17.472747Z",
|
||||
"archive": "beta/linux/flutter_linux_3.4.0-17.2.pre-beta.tar.xz",
|
||||
"sha256": "fd906d80f943fd1ecd83215419a2b635b40c987504840f6738b005ea3b926843"
|
||||
},
|
||||
{
|
||||
"hash": "98338388391370431e7a3c0e4602b1a29fbd1581",
|
||||
"channel": "beta",
|
||||
"version": "3.4.0-17.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-146.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-21T00:45:03.783788Z",
|
||||
"archive": "beta/linux/flutter_linux_3.4.0-17.1.pre-beta.tar.xz",
|
||||
"sha256": "2d4a5cd7e215d9e1df9499406a37de53b0e8d4ab88cc5c18c0befcaca2a60f7a"
|
||||
},
|
||||
{
|
||||
"hash": "e3c29ec00c9c825c891d75054c63fcc46454dca1",
|
||||
"channel": "stable",
|
||||
"version": "3.3.2",
|
||||
"dart_sdk_version": "2.18.1",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-14T15:06:55.724077Z",
|
||||
"archive": "stable/linux/flutter_linux_3.3.2-stable.tar.xz",
|
||||
"sha256": "a733a75ae07c42b2059a31fc9d64fabfae5dccd15770fa6b7f290e3f5f9c98e8"
|
||||
},
|
||||
{
|
||||
"hash": "4f9d92fbbdf072a70a70d2179a9f87392b94104c",
|
||||
"channel": "stable",
|
||||
"version": "3.3.1",
|
||||
"dart_sdk_version": "2.18.0",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-07T15:30:42.283999Z",
|
||||
"archive": "stable/linux/flutter_linux_3.3.1-stable.tar.xz",
|
||||
"sha256": "7cbcff0230affbe07a5ce82298044ac437e96aeba69f83656f9ed9a910a392e7"
|
||||
},
|
||||
{
|
||||
"hash": "ffccd96b62ee8cec7740dab303538c5fc26ac543",
|
||||
"channel": "stable",
|
||||
"version": "3.3.0",
|
||||
"dart_sdk_version": "2.18.0",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-30T17:22:12.916008Z",
|
||||
"archive": "stable/linux/flutter_linux_3.3.0-stable.tar.xz",
|
||||
"sha256": "a92a27aa6d4454d7a1cf9f8a0a56e0e5d6865f2cfcd21cf52e57f7922ad5d504"
|
||||
},
|
||||
{
|
||||
"hash": "096162697a9cdc79f4e47f7230d70935fa81fd24",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.5.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.7.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-23T17:03:21.525151Z",
|
||||
"archive": "beta/linux/flutter_linux_3.3.0-0.5.pre-beta.tar.xz",
|
||||
"sha256": "8e07158a64a8ce79f9169cffe4ff23a486bdabb29401f13177672fae18de52d2"
|
||||
},
|
||||
{
|
||||
"hash": "3c0bee85b8e43b860877922bdc411a7333db4d32",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.4.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.7.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-20T04:51:18.022823Z",
|
||||
"archive": "beta/linux/flutter_linux_3.3.0-0.4.pre-beta.tar.xz",
|
||||
"sha256": "88f67bb90b2e3f43977512540904e9d00142fa4503022b2add48743559453b36"
|
||||
},
|
||||
{
|
||||
"hash": "8c1149878bbb8f062aecfab4d825e5b87bdb4487",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.3.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.4.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-10T19:12:48.645905Z",
|
||||
"archive": "beta/linux/flutter_linux_3.3.0-0.3.pre-beta.tar.xz",
|
||||
"sha256": "46bed8a4935312ef1085bf44cfdb4f91ee28f0a8d2a34d71bc4b4aacdd20163e"
|
||||
},
|
||||
{
|
||||
"hash": "7ac27ac8e6a42750c475ba8a2a3c7047b93fd949",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.2.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.4.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-03T01:06:09.377154Z",
|
||||
"archive": "beta/linux/flutter_linux_3.3.0-0.2.pre-beta.tar.xz",
|
||||
"sha256": "68f656f47cd56acbe1a3f456c71355bda2dae21331a254566b1082f1010769bb"
|
||||
},
|
||||
{
|
||||
"hash": "d952ca86d64772b1b9b0df27cf9ea145e80c38e5",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.1.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.4.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-07-27T20:02:24.681157Z",
|
||||
"archive": "beta/linux/flutter_linux_3.3.0-0.1.pre-beta.tar.xz",
|
||||
"sha256": "f9e63ff0b60c4b5ea9f4f33dddfae62fb607b605285dd6629afae0db66b2352b"
|
||||
},
|
||||
{
|
||||
"hash": "f90da9b1672f7d006ba760fbb8fd1aa17af1a82a",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.0.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.2.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-07-20T17:33:09.773259Z",
|
||||
"archive": "beta/linux/flutter_linux_3.3.0-0.0.pre-beta.tar.xz",
|
||||
"sha256": "c11a43fba13867eaa854a754b6e0d87cd7ef7cc1aaf2795c7bbe55f417c2155f"
|
||||
},
|
||||
{
|
||||
"hash": "f1875d570e39de09040c8f79aa13cc56baab8db1",
|
||||
"channel": "stable",
|
||||
|
||||
@@ -1,11 +1,741 @@
|
||||
{
|
||||
"base_url": "https://storage.googleapis.com/flutter_infra_release/releases",
|
||||
"current_release": {
|
||||
"beta": "f28e570c8cb12a004fae2d796d0d9cd46603bde9",
|
||||
"beta": "f732038a8cf4562ce38a1d7debb30209ae3da896",
|
||||
"dev": "13a2fb10b838971ce211230f8ffdd094c14af02c",
|
||||
"stable": "f1875d570e39de09040c8f79aa13cc56baab8db1"
|
||||
"stable": "2ad6cd72c040113b47ee9055e722606a490ef0da"
|
||||
},
|
||||
"releases": [
|
||||
{
|
||||
"hash": "f732038a8cf4562ce38a1d7debb30209ae3da896",
|
||||
"channel": "beta",
|
||||
"version": "3.9.0-0.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-290.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-15T23:49:48.869725Z",
|
||||
"archive": "beta/macos/flutter_macos_3.9.0-0.1.pre-beta.zip",
|
||||
"sha256": "07ae9b13c6854d85b519166f918f5504579ccbcc43ee8048c8e5c89c28333001"
|
||||
},
|
||||
{
|
||||
"hash": "8b9b90e75107181aadc303d8d7422205863a35dd",
|
||||
"channel": "beta",
|
||||
"version": "3.9.0-0.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-290.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-15T23:33:12.756049Z",
|
||||
"archive": "beta/macos/flutter_macos_3.9.0-0.1.pre-beta.zip",
|
||||
"sha256": "c8cc141b55aa3edf3b3964039890996cbd74954a55ad2e74ff5005e49b74e879"
|
||||
},
|
||||
{
|
||||
"hash": "8b9b90e75107181aadc303d8d7422205863a35dd",
|
||||
"channel": "beta",
|
||||
"version": "3.9.0-0.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-290.1.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2023-03-15T23:30:04.284230Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.9.0-0.1.pre-beta.zip",
|
||||
"sha256": "50fdf2ec66d3850d2efe4552566b28a37b43020aa7b79d60f346a7a3ba21bd48"
|
||||
},
|
||||
{
|
||||
"hash": "f3d140022d6a68df8b0e3776594819ce0ee94e2d",
|
||||
"channel": "beta",
|
||||
"version": "3.9.0-0.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-290.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-15T22:45:31.522335Z",
|
||||
"archive": "beta/macos/flutter_macos_3.9.0-0.1.pre-beta.zip",
|
||||
"sha256": "20a1ca5bf5fde0fa327b2736f4b34796a586856c83b795e864eaa6c486d1a5d9"
|
||||
},
|
||||
{
|
||||
"hash": "2ad6cd72c040113b47ee9055e722606a490ef0da",
|
||||
"channel": "stable",
|
||||
"version": "3.7.7",
|
||||
"dart_sdk_version": "2.19.4",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-08T20:39:11.307931Z",
|
||||
"archive": "stable/macos/flutter_macos_3.7.7-stable.zip",
|
||||
"sha256": "78957b52f023a0d811add27eddc59b1a59d27d2ada5df123f39d0315708fb2d5"
|
||||
},
|
||||
{
|
||||
"hash": "2ad6cd72c040113b47ee9055e722606a490ef0da",
|
||||
"channel": "stable",
|
||||
"version": "3.7.7",
|
||||
"dart_sdk_version": "2.19.4",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2023-03-08T20:36:12.935541Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.7.7-stable.zip",
|
||||
"sha256": "0511b9f164a62f467b063e6c83d9c683bb3fb056ee556b2f45e987a2c2f4a260"
|
||||
},
|
||||
{
|
||||
"hash": "12cb4eb7a009f52b347b62ade7cb4854b926af72",
|
||||
"channel": "stable",
|
||||
"version": "3.7.6",
|
||||
"dart_sdk_version": "2.19.3",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-01T20:54:19.480252Z",
|
||||
"archive": "stable/macos/flutter_macos_3.7.6-stable.zip",
|
||||
"sha256": "ef50057523ec5220921c8594db6e05e92077783a8232246f9c297d7d5ca95fb4"
|
||||
},
|
||||
{
|
||||
"hash": "12cb4eb7a009f52b347b62ade7cb4854b926af72",
|
||||
"channel": "stable",
|
||||
"version": "3.7.6",
|
||||
"dart_sdk_version": "2.19.3",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2023-03-01T20:51:20.884052Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.7.6-stable.zip",
|
||||
"sha256": "0823d126788058af49d2e212e13e783517d332339bbc0538f94eb13ee3f194fa"
|
||||
},
|
||||
{
|
||||
"hash": "c07f7888888435fd9df505aa2efc38d3cf65681b",
|
||||
"channel": "stable",
|
||||
"version": "3.7.5",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-23T04:27:01.291868Z",
|
||||
"archive": "stable/macos/flutter_macos_3.7.5-stable.zip",
|
||||
"sha256": "653961c303d34eed4ca976b814ee3f4a15078fa743e454c77624a5fe3299c5bd"
|
||||
},
|
||||
{
|
||||
"hash": "c07f7888888435fd9df505aa2efc38d3cf65681b",
|
||||
"channel": "stable",
|
||||
"version": "3.7.5",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2023-02-23T04:22:14.080604Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.7.5-stable.zip",
|
||||
"sha256": "aec66d79633dafa37d5fd00bcec366993921e802050728c5b2e0c3478fd2076f"
|
||||
},
|
||||
{
|
||||
"hash": "b4bce91dd0f168179d46a7ae5eceb3572ba9637a",
|
||||
"channel": "stable",
|
||||
"version": "3.7.4",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-21T21:19:15.713559Z",
|
||||
"archive": "stable/macos/flutter_macos_3.7.4-stable.zip",
|
||||
"sha256": "6ec44903f585531cb77af887bf5d70c285e6c63fb0c551f3db9ec8b0faddf8c6"
|
||||
},
|
||||
{
|
||||
"hash": "b4bce91dd0f168179d46a7ae5eceb3572ba9637a",
|
||||
"channel": "stable",
|
||||
"version": "3.7.4",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2023-02-21T21:15:44.287622Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.7.4-stable.zip",
|
||||
"sha256": "8f37e28cd41f91ec67ed722e08bcc5bd172533d21398719fa1bd050ba281bf2c"
|
||||
},
|
||||
{
|
||||
"hash": "1a0a03a41d6613c10bab23508dee456f184b181b",
|
||||
"channel": "beta",
|
||||
"version": "3.8.0-10.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-218.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-17T17:06:38.101781Z",
|
||||
"archive": "beta/macos/flutter_macos_3.8.0-10.1.pre-beta.zip",
|
||||
"sha256": "59d8f3be6d940f17bb309c0e5b0d18e1a3d8ad525feaf648208fbcaf808b7c23"
|
||||
},
|
||||
{
|
||||
"hash": "9944297138845a94256f1cf37beb88ff9a8e811a",
|
||||
"channel": "stable",
|
||||
"version": "3.7.3",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-09T16:52:24.380820Z",
|
||||
"archive": "stable/macos/flutter_macos_3.7.3-stable.zip",
|
||||
"sha256": "41032963628ef651a81833af202ca6b636b49411c3710030898ed4277d636595"
|
||||
},
|
||||
{
|
||||
"hash": "9944297138845a94256f1cf37beb88ff9a8e811a",
|
||||
"channel": "stable",
|
||||
"version": "3.7.3",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2023-02-09T16:49:08.538516Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.7.3-stable.zip",
|
||||
"sha256": "6b4eda9371094ca2cdaae944f91a0a95d1f71803dcae0d01f899edf8aa4f58a1"
|
||||
},
|
||||
{
|
||||
"hash": "32fb2f948e9b1a2d1b876ebee3558be7f51b457f",
|
||||
"channel": "stable",
|
||||
"version": "3.7.2",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-08T17:58:15.194610Z",
|
||||
"archive": "stable/macos/flutter_macos_3.7.2-stable.zip",
|
||||
"sha256": "2ed6e48ba9f20942d600cd997de30f15725537d78cd34b8bf299a089b30e0ca0"
|
||||
},
|
||||
{
|
||||
"hash": "32fb2f948e9b1a2d1b876ebee3558be7f51b457f",
|
||||
"channel": "stable",
|
||||
"version": "3.7.2",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2023-02-08T17:55:26.188873Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.7.2-stable.zip",
|
||||
"sha256": "daba89e62b5c8b4a3099034f302bdfbc6fa3c4435257192fe29fb9d39d2a3dc6"
|
||||
},
|
||||
{
|
||||
"hash": "7048ed95a5ad3e43d697e0c397464193991fc230",
|
||||
"channel": "stable",
|
||||
"version": "3.7.1",
|
||||
"dart_sdk_version": "2.19.1",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-01T21:12:35.871676Z",
|
||||
"archive": "stable/macos/flutter_macos_3.7.1-stable.zip",
|
||||
"sha256": "3a6fd3c151d8247785bb3c296ea2c132aaa8f6f2bf2120c7495e3b61e7ab6dc5"
|
||||
},
|
||||
{
|
||||
"hash": "7048ed95a5ad3e43d697e0c397464193991fc230",
|
||||
"channel": "stable",
|
||||
"version": "3.7.1",
|
||||
"dart_sdk_version": "2.19.1",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2023-02-01T21:09:28.491790Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.7.1-stable.zip",
|
||||
"sha256": "70a8ae5e7ff360827e6dd7facc69c0e5965674449c4f389d994d3c2ffbb2647d"
|
||||
},
|
||||
{
|
||||
"hash": "b06b8b2710955028a6b562f5aa6fe62941d6febf",
|
||||
"channel": "stable",
|
||||
"version": "3.7.0",
|
||||
"dart_sdk_version": "2.19.0",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-24T18:44:31.737494Z",
|
||||
"archive": "stable/macos/flutter_macos_3.7.0-stable.zip",
|
||||
"sha256": "501dc6254c1bb158998d5d3bd65f79b8e966f991518da0cc6ed6c6d4e2772ec3"
|
||||
},
|
||||
{
|
||||
"hash": "b06b8b2710955028a6b562f5aa6fe62941d6febf",
|
||||
"channel": "stable",
|
||||
"version": "3.7.0",
|
||||
"dart_sdk_version": "2.19.0",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2023-01-24T18:41:30.665933Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.7.0-stable.zip",
|
||||
"sha256": "6e7132bac441400432129ebb54e5dede6ab76f0dbea58370090249048a2dd013"
|
||||
},
|
||||
{
|
||||
"hash": "099b3f4bf1581796fac3848d3381dbf2f29edbea",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.5.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.6.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-23T23:15:04.420865Z",
|
||||
"archive": "beta/macos/flutter_macos_3.7.0-1.5.pre-beta.zip",
|
||||
"sha256": "a4fdb4293039ca65e1ed1b53ee2ad12a70e18ec8e09486b7f2de78e2cd5dd83c"
|
||||
},
|
||||
{
|
||||
"hash": "099b3f4bf1581796fac3848d3381dbf2f29edbea",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.5.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.6.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2023-01-23T22:55:47.278206Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.7.0-1.5.pre-beta.zip",
|
||||
"sha256": "ff052b3cd4c19cc49116bfe2a668f6543c7c1e9455b177ebcdc6f5cb8763f48a"
|
||||
},
|
||||
{
|
||||
"hash": "686fe913dc963954b99e62048569cb9ac8e551c8",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.4.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.4.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-11T18:06:01.399151Z",
|
||||
"archive": "beta/macos/flutter_macos_3.7.0-1.4.pre-beta.zip",
|
||||
"sha256": "bfdd88b0069d82ffe5b4fd18e668f2bdc460b9dc64ec1990db5dc64617adc2c9"
|
||||
},
|
||||
{
|
||||
"hash": "686fe913dc963954b99e62048569cb9ac8e551c8",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.4.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.4.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2023-01-11T18:03:59.749861Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.7.0-1.4.pre-beta.zip",
|
||||
"sha256": "e630996ecdcd7389cfcdeee5b7f1974a50151cba1c5b36ddf274d7d775e3dfa8"
|
||||
},
|
||||
{
|
||||
"hash": "9b4416aaa79bf984d06aa40ab515a274a50a75a7",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.3.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.3.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-05T17:35:47.348107Z",
|
||||
"archive": "beta/macos/flutter_macos_3.7.0-1.3.pre-beta.zip",
|
||||
"sha256": "33568334e2489b1232b802102e10ce120735eb0c98aef0d0c6ebd872de08531c"
|
||||
},
|
||||
{
|
||||
"hash": "9b4416aaa79bf984d06aa40ab515a274a50a75a7",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.3.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.3.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2023-01-05T17:33:17.835203Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.7.0-1.3.pre-beta.zip",
|
||||
"sha256": "ee84b7ac8e5f95061a243b9acddff25976537ee1a3296c4789d1c7c008bb74bc"
|
||||
},
|
||||
{
|
||||
"hash": "c29b09b8782b39b1678bc9c861f40902086fb7c8",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.2.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.2.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-12-20T01:48:09.249423Z",
|
||||
"archive": "beta/macos/flutter_macos_3.7.0-1.2.pre-beta.zip",
|
||||
"sha256": "84d2d51f23dbaba87cb5171313c5ed58a33ee72fb69964c7af39d65b34013d2e"
|
||||
},
|
||||
{
|
||||
"hash": "c29b09b8782b39b1678bc9c861f40902086fb7c8",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.2.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.2.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-12-20T01:45:00.490663Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.7.0-1.2.pre-beta.zip",
|
||||
"sha256": "a235539bf7c917f79f98ada1de9d11bdef4a7c6607b1b64abdfef7c24147d6cf"
|
||||
},
|
||||
{
|
||||
"hash": "135454af32477f815a7525073027a3ff9eff1bfd",
|
||||
"channel": "stable",
|
||||
"version": "3.3.10",
|
||||
"dart_sdk_version": "2.18.6",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-12-15T21:58:01.550028Z",
|
||||
"archive": "stable/macos/flutter_macos_3.3.10-stable.zip",
|
||||
"sha256": "5429d0f71bf3bfbe84c31f3ecf4c721babf51bce1b301ef2be5cbbaafa94410c"
|
||||
},
|
||||
{
|
||||
"hash": "135454af32477f815a7525073027a3ff9eff1bfd",
|
||||
"channel": "stable",
|
||||
"version": "3.3.10",
|
||||
"dart_sdk_version": "2.18.6",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-12-15T21:55:11.427687Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.3.10-stable.zip",
|
||||
"sha256": "af7e59fdfe8ac24cf553a65a89c22ac364d7bf6b35c73631254f19e2c1e4cbc1"
|
||||
},
|
||||
{
|
||||
"hash": "e599f02c7af4aa8aba0e8e96f71c737f85be3c6e",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-12-08T18:01:09.182464Z",
|
||||
"archive": "beta/macos/flutter_macos_3.7.0-1.1.pre-beta.zip",
|
||||
"sha256": "0faa94be887f48883509588309b4f3f47850443d430304e3c536e9ab6af7d41a"
|
||||
},
|
||||
{
|
||||
"hash": "e599f02c7af4aa8aba0e8e96f71c737f85be3c6e",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.1.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-12-08T17:57:35.704951Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.7.0-1.1.pre-beta.zip",
|
||||
"sha256": "157d3ce05b7eca0b249370b6a81bcc48544884f9b9d9555aa8a42f0dd7132503"
|
||||
},
|
||||
{
|
||||
"hash": "b8f7f1f9869bb2d116aa6a70dbeac61000b52849",
|
||||
"channel": "stable",
|
||||
"version": "3.3.9",
|
||||
"dart_sdk_version": "2.18.5",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-11-23T16:32:40.143203Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.3.9-stable.zip",
|
||||
"sha256": "872c8ecf32be88424e84e619fb53b4dd083ddae3e9bfd15a2caf14f624055d98"
|
||||
},
|
||||
{
|
||||
"hash": "b8f7f1f9869bb2d116aa6a70dbeac61000b52849",
|
||||
"channel": "stable",
|
||||
"version": "3.3.9",
|
||||
"dart_sdk_version": "2.18.5",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-11-23T16:30:39.672002Z",
|
||||
"archive": "stable/macos/flutter_macos_3.3.9-stable.zip",
|
||||
"sha256": "07c0601c9c8465ee7a165f621869b0690b4bce283dbb293c7ece9206f6914735"
|
||||
},
|
||||
{
|
||||
"hash": "75927305ff855f76a9ef704f9b4a86fa2fce7292",
|
||||
"channel": "beta",
|
||||
"version": "3.6.0-0.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-374.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-11-17T19:36:00.807878Z",
|
||||
"archive": "beta/macos/flutter_macos_3.6.0-0.1.pre-beta.zip",
|
||||
"sha256": "68e4121503c48589ffd175a67a0c32baa8d67799edda9682f9be662b562e3914"
|
||||
},
|
||||
{
|
||||
"hash": "75927305ff855f76a9ef704f9b4a86fa2fce7292",
|
||||
"channel": "beta",
|
||||
"version": "3.6.0-0.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-374.1.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-11-17T19:31:51.568642Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.6.0-0.1.pre-beta.zip",
|
||||
"sha256": "7a01c8ed90822fb4cb7c156dcf397eba9822f5bd6d968167057a74444307d47b"
|
||||
},
|
||||
{
|
||||
"hash": "52b3dc25f6471c27b2144594abb11c741cb88f57",
|
||||
"channel": "stable",
|
||||
"version": "3.3.8",
|
||||
"dart_sdk_version": "2.18.4",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-11-09T18:03:24.256809Z",
|
||||
"archive": "stable/macos/flutter_macos_3.3.8-stable.zip",
|
||||
"sha256": "2d97b90933da42d332f343dab97a982ce5317e904ff0fce3ca1ebe12c7d19501"
|
||||
},
|
||||
{
|
||||
"hash": "52b3dc25f6471c27b2144594abb11c741cb88f57",
|
||||
"channel": "stable",
|
||||
"version": "3.3.8",
|
||||
"dart_sdk_version": "2.18.4",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-11-09T18:00:24.035959Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.3.8-stable.zip",
|
||||
"sha256": "c49d66a68bd8e2dea1737cf58f72828e113f242ce4f28f268917baf30ea60ea9"
|
||||
},
|
||||
{
|
||||
"hash": "e99c9c7cd9f6c0b2f8ae6e3ebfd585239f5568f4",
|
||||
"channel": "stable",
|
||||
"version": "3.3.7",
|
||||
"dart_sdk_version": "2.18.4",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-11-02T17:37:46.823631Z",
|
||||
"archive": "stable/macos/flutter_macos_3.3.7-stable.zip",
|
||||
"sha256": "1bc4a9c4a8a89005157ff1ae17d2691c511b49cc1f0cf8b465bc1d0284d04d55"
|
||||
},
|
||||
{
|
||||
"hash": "e99c9c7cd9f6c0b2f8ae6e3ebfd585239f5568f4",
|
||||
"channel": "stable",
|
||||
"version": "3.3.7",
|
||||
"dart_sdk_version": "2.18.4",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-11-02T17:32:22.643480Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.3.7-stable.zip",
|
||||
"sha256": "95172586e28c8241a6c7a593573ec89fe0c48d70882421394923d477fac9f0a7"
|
||||
},
|
||||
{
|
||||
"hash": "6928314d505d2bb4777be05e45d7808a5aa91d2a",
|
||||
"channel": "stable",
|
||||
"version": "3.3.6",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-10-26T16:39:56.056222Z",
|
||||
"archive": "stable/macos/flutter_macos_3.3.6-stable.zip",
|
||||
"sha256": "32845432ca48ca0fcf41857fdae54c681ff6b7e2ded4353046daf0e7649e168d"
|
||||
},
|
||||
{
|
||||
"hash": "6928314d505d2bb4777be05e45d7808a5aa91d2a",
|
||||
"channel": "stable",
|
||||
"version": "3.3.6",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-10-26T16:36:36.259958Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.3.6-stable.zip",
|
||||
"sha256": "4bb7cd85c31d90a40de6adb1a2bfab6b8f2e753805bd103968b5fb1b7625fcd6"
|
||||
},
|
||||
{
|
||||
"hash": "d9111f64021372856901a1fd5bfbc386cade3318",
|
||||
"channel": "stable",
|
||||
"version": "3.3.5",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-10-19T22:04:57.692139Z",
|
||||
"archive": "stable/macos/flutter_macos_3.3.5-stable.zip",
|
||||
"sha256": "4790eedc878f749a8babd0d1632e832a784f71824d41746e9d953adb2352d9c3"
|
||||
},
|
||||
{
|
||||
"hash": "d9111f64021372856901a1fd5bfbc386cade3318",
|
||||
"channel": "stable",
|
||||
"version": "3.3.5",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-10-19T22:01:44.977591Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.3.5-stable.zip",
|
||||
"sha256": "55390466cd4d192620fff8558e6b757532c744c53724a2d533e033d94749c976"
|
||||
},
|
||||
{
|
||||
"hash": "71520442d4d0d41b2d158c519928d90ddab3766f",
|
||||
"channel": "beta",
|
||||
"version": "3.4.0-34.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-255.2.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-10-06T17:02:17.314068Z",
|
||||
"archive": "beta/macos/flutter_macos_3.4.0-34.1.pre-beta.zip",
|
||||
"sha256": "c97204a171f5b9cc5436ffacce770dbc666288de8a8a114b894beca2df197b92"
|
||||
},
|
||||
{
|
||||
"hash": "71520442d4d0d41b2d158c519928d90ddab3766f",
|
||||
"channel": "beta",
|
||||
"version": "3.4.0-34.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-255.2.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-10-06T16:58:56.925767Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.4.0-34.1.pre-beta.zip",
|
||||
"sha256": "b7c9f7e8141ae4a16b61183d2d16e1123ff5a0048e721e3ace3ccb84fa0da754"
|
||||
},
|
||||
{
|
||||
"hash": "eb6d86ee27deecba4a83536aa20f366a6044895c",
|
||||
"channel": "stable",
|
||||
"version": "3.3.4",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-10-05T16:35:44.445492Z",
|
||||
"archive": "stable/macos/flutter_macos_3.3.4-stable.zip",
|
||||
"sha256": "3a39f0cadae5cf4fb1d634c9ec1c7564ccf1bf78d0cd6418e72e037ab8422f7b"
|
||||
},
|
||||
{
|
||||
"hash": "eb6d86ee27deecba4a83536aa20f366a6044895c",
|
||||
"channel": "stable",
|
||||
"version": "3.3.4",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-10-05T16:33:26.309456Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.3.4-stable.zip",
|
||||
"sha256": "a6825b56fcb789a48cc7c657c9ad24498743f0d35402364c0a9f020dbf895545"
|
||||
},
|
||||
{
|
||||
"hash": "18a827f3933c19f51862dde3fa472197683249d6",
|
||||
"channel": "stable",
|
||||
"version": "3.3.3",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-28T19:42:54.155293Z",
|
||||
"archive": "stable/macos/flutter_macos_3.3.3-stable.zip",
|
||||
"sha256": "d6676dbe5aeedf8f4eff6f75fb632d6101cf1a357dee207d36ae9e7b30e197df"
|
||||
},
|
||||
{
|
||||
"hash": "18a827f3933c19f51862dde3fa472197683249d6",
|
||||
"channel": "stable",
|
||||
"version": "3.3.3",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-09-28T19:38:29.677756Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.3.3-stable.zip",
|
||||
"sha256": "41828809900dfc7cf0ef7027f83858b02a3824dc3eeee5b408726321414eddca"
|
||||
},
|
||||
{
|
||||
"hash": "d6260f127fe3f88c98231243b387b48448479bff",
|
||||
"channel": "beta",
|
||||
"version": "3.4.0-17.2.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-146.2.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-21T20:14:46.975448Z",
|
||||
"archive": "beta/macos/flutter_macos_3.4.0-17.2.pre-beta.zip",
|
||||
"sha256": "8cbba6f8d1625334123ffd5486095d4f39756854c7341e9723db0636297f5cd5"
|
||||
},
|
||||
{
|
||||
"hash": "d6260f127fe3f88c98231243b387b48448479bff",
|
||||
"channel": "beta",
|
||||
"version": "3.4.0-17.2.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-146.2.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-09-21T20:12:10.456513Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.4.0-17.2.pre-beta.zip",
|
||||
"sha256": "f3e93f73dae6d214e3042463800f6dcc4526f8206ff793a6eb201df8fbe79901"
|
||||
},
|
||||
{
|
||||
"hash": "98338388391370431e7a3c0e4602b1a29fbd1581",
|
||||
"channel": "beta",
|
||||
"version": "3.4.0-17.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-146.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-21T00:32:52.256805Z",
|
||||
"archive": "beta/macos/flutter_macos_3.4.0-17.1.pre-beta.zip",
|
||||
"sha256": "5795e43e231589e0add9f69031d1a238f7c058271448ba5f5f907f6359e0080d"
|
||||
},
|
||||
{
|
||||
"hash": "98338388391370431e7a3c0e4602b1a29fbd1581",
|
||||
"channel": "beta",
|
||||
"version": "3.4.0-17.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-146.1.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-09-21T00:29:48.404511Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.4.0-17.1.pre-beta.zip",
|
||||
"sha256": "6b674f0ee1b188e3c66fe879f916193008cdad8c4f1532dee02c98a0c8cfb9d3"
|
||||
},
|
||||
{
|
||||
"hash": "e3c29ec00c9c825c891d75054c63fcc46454dca1",
|
||||
"channel": "stable",
|
||||
"version": "3.3.2",
|
||||
"dart_sdk_version": "2.18.1",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-09-14T15:35:34.505831Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.3.2-stable.zip",
|
||||
"sha256": "bf59ede182ac9a675cb9f2a3e2ba70b8b3e94a0a22efdebd37cc5e3b57aa37e0"
|
||||
},
|
||||
{
|
||||
"hash": "e3c29ec00c9c825c891d75054c63fcc46454dca1",
|
||||
"channel": "stable",
|
||||
"version": "3.3.2",
|
||||
"dart_sdk_version": "2.18.1",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-14T15:00:33.177611Z",
|
||||
"archive": "stable/macos/flutter_macos_3.3.2-stable.zip",
|
||||
"sha256": "25f35d79b008e131d3d81c2bc29ef3d3e6508f2f9fcda3683f58a4216b8b06c9"
|
||||
},
|
||||
{
|
||||
"hash": "4f9d92fbbdf072a70a70d2179a9f87392b94104c",
|
||||
"channel": "stable",
|
||||
"version": "3.3.1",
|
||||
"dart_sdk_version": "2.18.0",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-07T15:18:17.414596Z",
|
||||
"archive": "stable/macos/flutter_macos_3.3.1-stable.zip",
|
||||
"sha256": "e6c53c683082272feed6514fe003a793955935f3ea04485e1ccd44a05da1cc1e"
|
||||
},
|
||||
{
|
||||
"hash": "4f9d92fbbdf072a70a70d2179a9f87392b94104c",
|
||||
"channel": "stable",
|
||||
"version": "3.3.1",
|
||||
"dart_sdk_version": "2.18.0",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-09-07T15:15:28.246563Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.3.1-stable.zip",
|
||||
"sha256": "648761d29335ab002ab0f0757f2392b73de09b0d4d8fae153eb49fb619c66837"
|
||||
},
|
||||
{
|
||||
"hash": "ffccd96b62ee8cec7740dab303538c5fc26ac543",
|
||||
"channel": "stable",
|
||||
"version": "3.3.0",
|
||||
"dart_sdk_version": "2.18.0",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-30T17:11:09.790844Z",
|
||||
"archive": "stable/macos/flutter_macos_3.3.0-stable.zip",
|
||||
"sha256": "f461df043b4a1b2dedcf31c11db5e5286b2b014804d2df445b85c6bb6ce0844b"
|
||||
},
|
||||
{
|
||||
"hash": "ffccd96b62ee8cec7740dab303538c5fc26ac543",
|
||||
"channel": "stable",
|
||||
"version": "3.3.0",
|
||||
"dart_sdk_version": "2.18.0",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-08-30T17:08:26.835930Z",
|
||||
"archive": "stable/macos/flutter_macos_arm64_3.3.0-stable.zip",
|
||||
"sha256": "ad3b620aef65d43f54c5432a7f3a72304de639c7cf393a8a8796aa1094476b2e"
|
||||
},
|
||||
{
|
||||
"hash": "096162697a9cdc79f4e47f7230d70935fa81fd24",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.5.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.7.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-23T16:52:21.746614Z",
|
||||
"archive": "beta/macos/flutter_macos_3.3.0-0.5.pre-beta.zip",
|
||||
"sha256": "7c002e918634f3f5d125b53ee624fa03fbf095b6f048adb8878e6277114d8c55"
|
||||
},
|
||||
{
|
||||
"hash": "096162697a9cdc79f4e47f7230d70935fa81fd24",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.5.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.7.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-08-23T16:50:36.968554Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.3.0-0.5.pre-beta.zip",
|
||||
"sha256": "4b8a7d27a4126c4ca92e2ae6c9597701556057a2e4bc098747a0f2ebec17f661"
|
||||
},
|
||||
{
|
||||
"hash": "3c0bee85b8e43b860877922bdc411a7333db4d32",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.4.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.7.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-20T04:38:15.866842Z",
|
||||
"archive": "beta/macos/flutter_macos_3.3.0-0.4.pre-beta.zip",
|
||||
"sha256": "53649b10202fa3c8a87c12380c9fa2a40e278de4b23039ebae8e15c3ac83ed79"
|
||||
},
|
||||
{
|
||||
"hash": "3c0bee85b8e43b860877922bdc411a7333db4d32",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.4.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.7.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-08-20T04:35:35.455861Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.3.0-0.4.pre-beta.zip",
|
||||
"sha256": "4f37a85674030c69298cffa2193970b2f155e9611d81cae1e4fa324fc427439b"
|
||||
},
|
||||
{
|
||||
"hash": "8c1149878bbb8f062aecfab4d825e5b87bdb4487",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.3.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.4.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-10T19:01:24.684350Z",
|
||||
"archive": "beta/macos/flutter_macos_3.3.0-0.3.pre-beta.zip",
|
||||
"sha256": "45d3e405a0d6e27c4ac4f3cd43cbbe06b95feb67685525a08165d07cf0dafa2c"
|
||||
},
|
||||
{
|
||||
"hash": "8c1149878bbb8f062aecfab4d825e5b87bdb4487",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.3.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.4.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-08-10T18:58:07.202077Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.3.0-0.3.pre-beta.zip",
|
||||
"sha256": "0083abd1251c990d70f6c613e493ee84253684c486908448648fe16fea512ea5"
|
||||
},
|
||||
{
|
||||
"hash": "7ac27ac8e6a42750c475ba8a2a3c7047b93fd949",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.2.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.4.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-08-03T04:31:44.508544Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.3.0-0.2.pre-beta.zip",
|
||||
"sha256": "bca81cc0c0b31ce06e69c0443959e71e73a2fa82d2553080092bff4f80a84ea3"
|
||||
},
|
||||
{
|
||||
"hash": "7ac27ac8e6a42750c475ba8a2a3c7047b93fd949",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.2.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.4.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-03T01:58:04.779532Z",
|
||||
"archive": "beta/macos/flutter_macos_3.3.0-0.2.pre-beta.zip",
|
||||
"sha256": "e7b2928ccdeeb99aff34123f91d44451bb11164c9cc7757fac882e4abdbf56aa"
|
||||
},
|
||||
{
|
||||
"hash": "d952ca86d64772b1b9b0df27cf9ea145e80c38e5",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.1.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.4.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-07-27T19:51:19.133963Z",
|
||||
"archive": "beta/macos/flutter_macos_3.3.0-0.1.pre-beta.zip",
|
||||
"sha256": "870976f4f179ee1cdafa87882c68fb9a533519508182a5580b7ba35b9dad87a5"
|
||||
},
|
||||
{
|
||||
"hash": "d952ca86d64772b1b9b0df27cf9ea145e80c38e5",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.1.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.4.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-07-27T19:48:56.397604Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.3.0-0.1.pre-beta.zip",
|
||||
"sha256": "037550a2fdad281d070727cff68c0f5db12c116ee400b45faec5370effeddf31"
|
||||
},
|
||||
{
|
||||
"hash": "f90da9b1672f7d006ba760fbb8fd1aa17af1a82a",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.0.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.2.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-07-20T19:10:36.884201Z",
|
||||
"archive": "beta/macos/flutter_macos_3.3.0-0.0.pre-beta.zip",
|
||||
"sha256": "a5bacbd9c5df2a48840b1e378e66e9f586c5bdbbc69ea0d0ff49de0280d5ca3f"
|
||||
},
|
||||
{
|
||||
"hash": "f90da9b1672f7d006ba760fbb8fd1aa17af1a82a",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.0.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.2.beta)",
|
||||
"dart_sdk_arch": "arm64",
|
||||
"release_date": "2022-07-20T17:26:09.257987Z",
|
||||
"archive": "beta/macos/flutter_macos_arm64_3.3.0-0.0.pre-beta.zip",
|
||||
"sha256": "7ce648969a528edf1f8d826ca6fc324ce22d712d6081b15ec55fcff3a1d0c779"
|
||||
},
|
||||
{
|
||||
"hash": "f1875d570e39de09040c8f79aa13cc56baab8db1",
|
||||
"channel": "stable",
|
||||
|
||||
@@ -1,11 +1,391 @@
|
||||
{
|
||||
"base_url": "https://storage.googleapis.com/flutter_infra_release/releases",
|
||||
"current_release": {
|
||||
"beta": "f28e570c8cb12a004fae2d796d0d9cd46603bde9",
|
||||
"beta": "f732038a8cf4562ce38a1d7debb30209ae3da896",
|
||||
"dev": "13a2fb10b838971ce211230f8ffdd094c14af02c",
|
||||
"stable": "f1875d570e39de09040c8f79aa13cc56baab8db1"
|
||||
"stable": "2ad6cd72c040113b47ee9055e722606a490ef0da"
|
||||
},
|
||||
"releases": [
|
||||
{
|
||||
"hash": "f732038a8cf4562ce38a1d7debb30209ae3da896",
|
||||
"channel": "beta",
|
||||
"version": "3.9.0-0.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-290.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-16T00:06:13.875844Z",
|
||||
"archive": "beta/windows/flutter_windows_3.9.0-0.1.pre-beta.zip",
|
||||
"sha256": "3754f76203a61e0483a64587d6790ec19616aa065367c5a64cf68029b8a03b0a"
|
||||
},
|
||||
{
|
||||
"hash": "8b9b90e75107181aadc303d8d7422205863a35dd",
|
||||
"channel": "beta",
|
||||
"version": "3.9.0-0.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-290.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-15T23:46:20.941673Z",
|
||||
"archive": "beta/windows/flutter_windows_3.9.0-0.1.pre-beta.zip",
|
||||
"sha256": "f37ada75add1b6fdd91ad67dff564744a0c33b37ad66d2407dbadd69b519076c"
|
||||
},
|
||||
{
|
||||
"hash": "f3d140022d6a68df8b0e3776594819ce0ee94e2d",
|
||||
"channel": "beta",
|
||||
"version": "3.9.0-0.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-290.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-15T22:54:39.722072Z",
|
||||
"archive": "beta/windows/flutter_windows_3.9.0-0.1.pre-beta.zip",
|
||||
"sha256": "58216af74574bd27f864eb2ef21eb3beb71229f28e317b0144e49441ff144800"
|
||||
},
|
||||
{
|
||||
"hash": "2ad6cd72c040113b47ee9055e722606a490ef0da",
|
||||
"channel": "stable",
|
||||
"version": "3.7.7",
|
||||
"dart_sdk_version": "2.19.4",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-08T20:54:40.512026Z",
|
||||
"archive": "stable/windows/flutter_windows_3.7.7-stable.zip",
|
||||
"sha256": "66f18e02b4e0ecad275a6376274adfad5e34c23c4a19749e9960d0a70cba7945"
|
||||
},
|
||||
{
|
||||
"hash": "12cb4eb7a009f52b347b62ade7cb4854b926af72",
|
||||
"channel": "stable",
|
||||
"version": "3.7.6",
|
||||
"dart_sdk_version": "2.19.3",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-03-01T21:08:50.824736Z",
|
||||
"archive": "stable/windows/flutter_windows_3.7.6-stable.zip",
|
||||
"sha256": "f6359d963bdf330fe81b33fcd37e954810a6f234ec27a4c7e657787d8997e4a8"
|
||||
},
|
||||
{
|
||||
"hash": "c07f7888888435fd9df505aa2efc38d3cf65681b",
|
||||
"channel": "stable",
|
||||
"version": "3.7.5",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-23T04:35:24.035013Z",
|
||||
"archive": "stable/windows/flutter_windows_3.7.5-stable.zip",
|
||||
"sha256": "ea543520a5051e4512c75828ccf3085e586b6c62712c62cb33bf0b3d386a8ba1"
|
||||
},
|
||||
{
|
||||
"hash": "b4bce91dd0f168179d46a7ae5eceb3572ba9637a",
|
||||
"channel": "stable",
|
||||
"version": "3.7.4",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-21T21:33:27.210617Z",
|
||||
"archive": "stable/windows/flutter_windows_3.7.4-stable.zip",
|
||||
"sha256": "0a71374359f4782da0499fe4efddfccbc71a027639afeaccbe89d3a527ba4292"
|
||||
},
|
||||
{
|
||||
"hash": "1a0a03a41d6613c10bab23508dee456f184b181b",
|
||||
"channel": "beta",
|
||||
"version": "3.8.0-10.1.pre",
|
||||
"dart_sdk_version": "3.0.0 (build 3.0.0-218.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-17T17:16:41.121017Z",
|
||||
"archive": "beta/windows/flutter_windows_3.8.0-10.1.pre-beta.zip",
|
||||
"sha256": "69c523a2450969bb749c4850c78d9ecf2dd7b5773f3da5517110331e6edd51bf"
|
||||
},
|
||||
{
|
||||
"hash": "9944297138845a94256f1cf37beb88ff9a8e811a",
|
||||
"channel": "stable",
|
||||
"version": "3.7.3",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-09T17:07:20.774874Z",
|
||||
"archive": "stable/windows/flutter_windows_3.7.3-stable.zip",
|
||||
"sha256": "5bd1eb343df962a579f6f8ddf4231661b2158c582fe3b343673e5762c290b6db"
|
||||
},
|
||||
{
|
||||
"hash": "32fb2f948e9b1a2d1b876ebee3558be7f51b457f",
|
||||
"channel": "stable",
|
||||
"version": "3.7.2",
|
||||
"dart_sdk_version": "2.19.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-08T18:12:42.520126Z",
|
||||
"archive": "stable/windows/flutter_windows_3.7.2-stable.zip",
|
||||
"sha256": "328a7e6768852e1b118700aaccc73b09809c3636e8fdbbe0a9cedcb60d8d22df"
|
||||
},
|
||||
{
|
||||
"hash": "7048ed95a5ad3e43d697e0c397464193991fc230",
|
||||
"channel": "stable",
|
||||
"version": "3.7.1",
|
||||
"dart_sdk_version": "2.19.1",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-02-01T21:25:51.478009Z",
|
||||
"archive": "stable/windows/flutter_windows_3.7.1-stable.zip",
|
||||
"sha256": "8712d43e0c4a9ca87887507ee72e68c7cf9da487eef9dd28c14556491fd82d7d"
|
||||
},
|
||||
{
|
||||
"hash": "b06b8b2710955028a6b562f5aa6fe62941d6febf",
|
||||
"channel": "stable",
|
||||
"version": "3.7.0",
|
||||
"dart_sdk_version": "2.19.0",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-24T19:03:01.219427Z",
|
||||
"archive": "stable/windows/flutter_windows_3.7.0-stable.zip",
|
||||
"sha256": "48ba4e41f7bcf4daeebca292d876fac37df39e2dd0250c45d27995dd41864fd6"
|
||||
},
|
||||
{
|
||||
"hash": "099b3f4bf1581796fac3848d3381dbf2f29edbea",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.5.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.6.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-23T23:13:05.768235Z",
|
||||
"archive": "beta/windows/flutter_windows_3.7.0-1.5.pre-beta.zip",
|
||||
"sha256": "fcd0821b8914b1d6ede92c2e7bc05746bb42a6cdbbade14a9bec3e96a8a5d5fc"
|
||||
},
|
||||
{
|
||||
"hash": "686fe913dc963954b99e62048569cb9ac8e551c8",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.4.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.4.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-11T18:19:13.038507Z",
|
||||
"archive": "beta/windows/flutter_windows_3.7.0-1.4.pre-beta.zip",
|
||||
"sha256": "a1bd1aa0d07527b218b7fe5d3f035caa1142f4ee85d10b0993d004fa2e32bbe4"
|
||||
},
|
||||
{
|
||||
"hash": "9b4416aaa79bf984d06aa40ab515a274a50a75a7",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.3.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.3.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2023-01-05T17:49:04.065552Z",
|
||||
"archive": "beta/windows/flutter_windows_3.7.0-1.3.pre-beta.zip",
|
||||
"sha256": "042da7d26c46e84b6a65e9dace31a7020e1ae71b665577b3d9d0358437af2306"
|
||||
},
|
||||
{
|
||||
"hash": "c29b09b8782b39b1678bc9c861f40902086fb7c8",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.2.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.2.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-12-20T02:02:13.097865Z",
|
||||
"archive": "beta/windows/flutter_windows_3.7.0-1.2.pre-beta.zip",
|
||||
"sha256": "3d8844086aa65c9f03e684bd9869dea856d8f0c7f492dd6d4b689dde3cbc03f6"
|
||||
},
|
||||
{
|
||||
"hash": "135454af32477f815a7525073027a3ff9eff1bfd",
|
||||
"channel": "stable",
|
||||
"version": "3.3.10",
|
||||
"dart_sdk_version": "2.18.6",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-12-15T22:10:59.100252Z",
|
||||
"archive": "stable/windows/flutter_windows_3.3.10-stable.zip",
|
||||
"sha256": "bcf931ae554f3e01190a4f278ec7dbda7c61ded73b23e3d75232a8eecbf86399"
|
||||
},
|
||||
{
|
||||
"hash": "e599f02c7af4aa8aba0e8e96f71c737f85be3c6e",
|
||||
"channel": "beta",
|
||||
"version": "3.7.0-1.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-444.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-12-08T18:11:40.970921Z",
|
||||
"archive": "beta/windows/flutter_windows_3.7.0-1.1.pre-beta.zip",
|
||||
"sha256": "9e19c383c47c07dd25620692c61d6a62966bbc1834e07af8b2b0d4b5b13152eb"
|
||||
},
|
||||
{
|
||||
"hash": "b8f7f1f9869bb2d116aa6a70dbeac61000b52849",
|
||||
"channel": "stable",
|
||||
"version": "3.3.9",
|
||||
"dart_sdk_version": "2.18.5",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-11-23T16:42:26.475643Z",
|
||||
"archive": "stable/windows/flutter_windows_3.3.9-stable.zip",
|
||||
"sha256": "2c3f03ec61f2bc218059d675746524126b24948cbaae310bc5e4da32ec96e80b"
|
||||
},
|
||||
{
|
||||
"hash": "75927305ff855f76a9ef704f9b4a86fa2fce7292",
|
||||
"channel": "beta",
|
||||
"version": "3.6.0-0.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-374.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-11-17T19:47:21.141825Z",
|
||||
"archive": "beta/windows/flutter_windows_3.6.0-0.1.pre-beta.zip",
|
||||
"sha256": "80b2f58bd8b74d9f7e635629d2e211a0d6597609bd6f63d585b89741b933aa8c"
|
||||
},
|
||||
{
|
||||
"hash": "52b3dc25f6471c27b2144594abb11c741cb88f57",
|
||||
"channel": "stable",
|
||||
"version": "3.3.8",
|
||||
"dart_sdk_version": "2.18.4",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-11-09T18:14:21.714914Z",
|
||||
"archive": "stable/windows/flutter_windows_3.3.8-stable.zip",
|
||||
"sha256": "170beb36b218b012596ed9c568aa9db1ccad707dd5663f46a1e57d997eeb78a3"
|
||||
},
|
||||
{
|
||||
"hash": "e99c9c7cd9f6c0b2f8ae6e3ebfd585239f5568f4",
|
||||
"channel": "stable",
|
||||
"version": "3.3.7",
|
||||
"dart_sdk_version": "2.18.4",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-11-02T17:47:39.033688Z",
|
||||
"archive": "stable/windows/flutter_windows_3.3.7-stable.zip",
|
||||
"sha256": "726c4c1f8810a9f9e4ddcf0611b12992abb8142606ca32f07838a20a537f14af"
|
||||
},
|
||||
{
|
||||
"hash": "6928314d505d2bb4777be05e45d7808a5aa91d2a",
|
||||
"channel": "stable",
|
||||
"version": "3.3.6",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-10-26T16:46:05.015003Z",
|
||||
"archive": "stable/windows/flutter_windows_3.3.6-stable.zip",
|
||||
"sha256": "66c6f940a8e8f2d51fea9f46895490fb1d47d85e281efd36f8900581f721fe44"
|
||||
},
|
||||
{
|
||||
"hash": "d9111f64021372856901a1fd5bfbc386cade3318",
|
||||
"channel": "stable",
|
||||
"version": "3.3.5",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-10-19T22:15:09.477535Z",
|
||||
"archive": "stable/windows/flutter_windows_3.3.5-stable.zip",
|
||||
"sha256": "87e8d83662de7a90c4aa86e766f5a0a5d3ac7c26c07ebc770c109d14b0105e82"
|
||||
},
|
||||
{
|
||||
"hash": "71520442d4d0d41b2d158c519928d90ddab3766f",
|
||||
"channel": "beta",
|
||||
"version": "3.4.0-34.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-255.2.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-10-06T17:12:47.130792Z",
|
||||
"archive": "beta/windows/flutter_windows_3.4.0-34.1.pre-beta.zip",
|
||||
"sha256": "8c397f8ee6494c04ff38971e43426d07d32dde03730dd943bb3691497b9a0865"
|
||||
},
|
||||
{
|
||||
"hash": "eb6d86ee27deecba4a83536aa20f366a6044895c",
|
||||
"channel": "stable",
|
||||
"version": "3.3.4",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-10-05T16:46:53.035404Z",
|
||||
"archive": "stable/windows/flutter_windows_3.3.4-stable.zip",
|
||||
"sha256": "87632a47a631aea267eedf48c851b50aefbf7ff4e19651746ba58975e5edb087"
|
||||
},
|
||||
{
|
||||
"hash": "18a827f3933c19f51862dde3fa472197683249d6",
|
||||
"channel": "stable",
|
||||
"version": "3.3.3",
|
||||
"dart_sdk_version": "2.18.2",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-28T19:52:44.384630Z",
|
||||
"archive": "stable/windows/flutter_windows_3.3.3-stable.zip",
|
||||
"sha256": "34d1456306c3eff891bb53863c8319a19f9d6f7f844763720add830a7d974aa7"
|
||||
},
|
||||
{
|
||||
"hash": "d6260f127fe3f88c98231243b387b48448479bff",
|
||||
"channel": "beta",
|
||||
"version": "3.4.0-17.2.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-146.2.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-21T20:26:28.792489Z",
|
||||
"archive": "beta/windows/flutter_windows_3.4.0-17.2.pre-beta.zip",
|
||||
"sha256": "8d0f2e145b4ed81948dc907a8b332890e87da809ce4a6e3fc725d55acd205c08"
|
||||
},
|
||||
{
|
||||
"hash": "98338388391370431e7a3c0e4602b1a29fbd1581",
|
||||
"channel": "beta",
|
||||
"version": "3.4.0-17.1.pre",
|
||||
"dart_sdk_version": "2.19.0 (build 2.19.0-146.1.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-21T00:43:43.298606Z",
|
||||
"archive": "beta/windows/flutter_windows_3.4.0-17.1.pre-beta.zip",
|
||||
"sha256": "2a8c339e42c573c409fb5ef26373cf4b623feaf721924faefafa9ff89a74fc41"
|
||||
},
|
||||
{
|
||||
"hash": "e3c29ec00c9c825c891d75054c63fcc46454dca1",
|
||||
"channel": "stable",
|
||||
"version": "3.3.2",
|
||||
"dart_sdk_version": "2.18.1",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-14T15:12:51.830276Z",
|
||||
"archive": "stable/windows/flutter_windows_3.3.2-stable.zip",
|
||||
"sha256": "444a1bfcb7143370e6ed826ebab0a2ff2c73a10a5e239a821d34811e71977263"
|
||||
},
|
||||
{
|
||||
"hash": "4f9d92fbbdf072a70a70d2179a9f87392b94104c",
|
||||
"channel": "stable",
|
||||
"version": "3.3.1",
|
||||
"dart_sdk_version": "2.18.0",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-09-07T15:24:37.360637Z",
|
||||
"archive": "stable/windows/flutter_windows_3.3.1-stable.zip",
|
||||
"sha256": "207d567a30fec11153dd9f8aa305014dda6d172cea1712daa103dacea694ace7"
|
||||
},
|
||||
{
|
||||
"hash": "ffccd96b62ee8cec7740dab303538c5fc26ac543",
|
||||
"channel": "stable",
|
||||
"version": "3.3.0",
|
||||
"dart_sdk_version": "2.18.0",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-30T17:23:11.902225Z",
|
||||
"archive": "stable/windows/flutter_windows_3.3.0-stable.zip",
|
||||
"sha256": "ed705da07825b3d9d1dcaf566c9b0e18fd0d9c5deaab771024882534cc4ecdb3"
|
||||
},
|
||||
{
|
||||
"hash": "096162697a9cdc79f4e47f7230d70935fa81fd24",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.5.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.7.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-23T17:03:59.164239Z",
|
||||
"archive": "beta/windows/flutter_windows_3.3.0-0.5.pre-beta.zip",
|
||||
"sha256": "e4d9f7ff79449ed1af361c6fe7f76277ea059b8e731aa5c209d067e49f460975"
|
||||
},
|
||||
{
|
||||
"hash": "3c0bee85b8e43b860877922bdc411a7333db4d32",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.4.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.7.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-20T04:49:06.533728Z",
|
||||
"archive": "beta/windows/flutter_windows_3.3.0-0.4.pre-beta.zip",
|
||||
"sha256": "16420bd046bc06d35f7c16fa23b0a262484bf43a8077da7907b8ac80ba1bba9b"
|
||||
},
|
||||
{
|
||||
"hash": "8c1149878bbb8f062aecfab4d825e5b87bdb4487",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.3.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.4.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-10T19:15:56.456584Z",
|
||||
"archive": "beta/windows/flutter_windows_3.3.0-0.3.pre-beta.zip",
|
||||
"sha256": "6a082a9e994bb55f20482c4570778b702ca2904179e9b03a400f14afe2be220b"
|
||||
},
|
||||
{
|
||||
"hash": "7ac27ac8e6a42750c475ba8a2a3c7047b93fd949",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.2.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.4.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-08-03T01:08:04.522815Z",
|
||||
"archive": "beta/windows/flutter_windows_3.3.0-0.2.pre-beta.zip",
|
||||
"sha256": "50a8604cb473ee24549cc215d4185dc85fa7a11c88c08bf03418d9b175e4e4b7"
|
||||
},
|
||||
{
|
||||
"hash": "d952ca86d64772b1b9b0df27cf9ea145e80c38e5",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.1.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.4.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-07-27T20:02:02.713990Z",
|
||||
"archive": "beta/windows/flutter_windows_3.3.0-0.1.pre-beta.zip",
|
||||
"sha256": "bbf926ca1ac393d837e4bb8a9a699ae5ab6c68d87c09f010fb4fb9fcaf058e0c"
|
||||
},
|
||||
{
|
||||
"hash": "f90da9b1672f7d006ba760fbb8fd1aa17af1a82a",
|
||||
"channel": "beta",
|
||||
"version": "3.3.0-0.0.pre",
|
||||
"dart_sdk_version": "2.18.0 (build 2.18.0-271.2.beta)",
|
||||
"dart_sdk_arch": "x64",
|
||||
"release_date": "2022-07-20T17:35:34.178761Z",
|
||||
"archive": "beta/windows/flutter_windows_3.3.0-0.0.pre-beta.zip",
|
||||
"sha256": "45a95c9e54945b97b0891a17d099052a6063001441be5a833e2b75e45f5acc74"
|
||||
},
|
||||
{
|
||||
"hash": "f1875d570e39de09040c8f79aa13cc56baab8db1",
|
||||
"channel": "stable",
|
||||
|
||||
Reference in New Issue
Block a user