@@ -6,6 +6,7 @@ OS=$(echo "${RUNNER_OS:-linux}" | awk '{print tolower($0)}')
6
6
FLUTTER_VERSION=${1:- " latest" }
7
7
FLUTTER_CHANNEL=${2:- " stable" }
8
8
FLUTTER_OS=$OS
9
+ FLUTTER_ARCH=$ARCH
9
10
10
11
# Flutter SDK release manifest
11
12
FLUTTER_RELEASE_MANIFEST_URL=" https://storage.googleapis.com/flutter_infra_release/releases/releases_$FLUTTER_OS .json"
@@ -30,17 +31,19 @@ if [ -f "$FLUTTER_RELEASE_MANIFEST_FILE" ]; then
30
31
# Detect the latest version
31
32
if [[ $FLUTTER_VERSION == " latest" ]]
32
33
then
34
+ __QUERY=" select(.hash == \" ${FLUTTER_RELEASE_CURRENT} \" and .dart_sdk_arch == \" ${ARCH} \" )"
33
35
FLUTTER_RELEASE_CURRENT=$( jq -r " .current_release.${FLUTTER_CHANNEL} " " $FLUTTER_RELEASE_MANIFEST_FILE " )
34
- FLUTTER_RELEASE_VERSION=$( jq -r " .releases | map(select(.hash == \" ${FLUTTER_RELEASE_CURRENT} \" ) ) | .[0].version" " $FLUTTER_RELEASE_MANIFEST_FILE " )
35
- FLUTTER_RELEASE_SHA256=$( jq -r " .releases | map(select(.hash == \" ${FLUTTER_RELEASE_CURRENT} \" ) ) | .[0].sha256" " $FLUTTER_RELEASE_MANIFEST_FILE " )
36
- FLUTTER_RELEASE_ARCHIVE=$( jq -r " .releases | map(select(.hash == \" ${FLUTTER_RELEASE_CURRENT} \" ) ) | .[0].archive" " $FLUTTER_RELEASE_MANIFEST_FILE " )
36
+ FLUTTER_RELEASE_VERSION=$( jq -r " .releases | map(${__QUERY} ) | .[0].version" " $FLUTTER_RELEASE_MANIFEST_FILE " )
37
+ FLUTTER_RELEASE_SHA256=$( jq -r " .releases | map(${__QUERY} ) | .[0].sha256" " $FLUTTER_RELEASE_MANIFEST_FILE " )
38
+ FLUTTER_RELEASE_ARCHIVE=$( jq -r " .releases | map(${__QUERY} ) | .[0].archive" " $FLUTTER_RELEASE_MANIFEST_FILE " )
37
39
38
40
# Set the detected version
39
41
FLUTTER_VERSION=$FLUTTER_RELEASE_VERSION
40
42
FLUTTER_DOWNLOAD_URL=" ${FLUTTER_RELEASE_BASE_URL} /${FLUTTER_RELEASE_ARCHIVE} "
41
43
else
42
- FLUTTER_RELEASE_SHA256=$( jq -r " .releases | map(select(.version == \" ${FLUTTER_VERSION} \" )) | .[0].sha256" " $FLUTTER_RELEASE_MANIFEST_FILE " )
43
- FLUTTER_RELEASE_ARCHIVE=$( jq -r " .releases | map(select(.version == \" ${FLUTTER_VERSION} \" )) | .[0].archive" " $FLUTTER_RELEASE_MANIFEST_FILE " )
44
+ __QUERY=" select(.version == \" ${FLUTTER_VERSION} \" and .dart_sdk_arch == \" ${ARCH} \" )"
45
+ FLUTTER_RELEASE_SHA256=$( jq -r " .releases | map(${__QUERY} ) | .[0].sha256" " $FLUTTER_RELEASE_MANIFEST_FILE " )
46
+ FLUTTER_RELEASE_ARCHIVE=$( jq -r " .releases | map(${__QUERY} ) | .[0].archive" " $FLUTTER_RELEASE_MANIFEST_FILE " )
44
47
45
48
# Set the detected version
46
49
FLUTTER_DOWNLOAD_URL=" ${FLUTTER_RELEASE_BASE_URL} /${FLUTTER_RELEASE_ARCHIVE} "
0 commit comments