@@ -6,6 +6,7 @@ OS=$(echo "${RUNNER_OS:-linux}" | awk '{print tolower($0)}')
66FLUTTER_VERSION=${1:- " latest" }
77FLUTTER_CHANNEL=${2:- " stable" }
88FLUTTER_OS=$OS
9+ FLUTTER_ARCH=$ARCH
910
1011# Flutter SDK release manifest
1112FLUTTER_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
3031 # Detect the latest version
3132 if [[ $FLUTTER_VERSION == " latest" ]]
3233 then
34+ __QUERY=" select(.hash == \" ${FLUTTER_RELEASE_CURRENT} \" and .dart_sdk_arch == \" ${ARCH} \" )"
3335 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 " )
3739
3840 # Set the detected version
3941 FLUTTER_VERSION=$FLUTTER_RELEASE_VERSION
4042 FLUTTER_DOWNLOAD_URL=" ${FLUTTER_RELEASE_BASE_URL} /${FLUTTER_RELEASE_ARCHIVE} "
4143 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 " )
4447
4548 # Set the detected version
4649 FLUTTER_DOWNLOAD_URL=" ${FLUTTER_RELEASE_BASE_URL} /${FLUTTER_RELEASE_ARCHIVE} "
0 commit comments