Skip to content

Commit 6f0a8c8

Browse files
committed
Rework latest version detection
# Conflicts: # action.sh
1 parent 1211029 commit 6f0a8c8

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

action.sh

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,18 @@ FLUTTER_OS=$OS
1212
# Detect the latest version
1313
if [[ $FLUTTER_VERSION == "latest" ]]
1414
then
15-
echo "Detecting latest version..."
16-
curl -L https://storage.googleapis.com/flutter_infra_release/releases/releases_$OS.json -o "${RUNNER_TEMP}/flutter_release.json"
17-
CURRENT_RELEASE=$(jq -r ".current_release.${FLUTTER_CHANNEL}" "${RUNNER_TEMP}/flutter_release.json")
18-
FLUTTER_VERSION=$(jq -r ".releases | map(select(.hash == \"${CURRENT_RELEASE}\")) | .[0].version" "${RUNNER_TEMP}/flutter_release.json")
19-
rm "${RUNNER_TEMP}/flutter_release.json"
15+
FLUTTER_RELEASE_MANIFEST_URL="https://storage.googleapis.com/flutter_infra_release/releases/releases_$OS.json"
16+
FLUTTER_RELEASE_MANIFEST_FILE="${RUNNER_TEMP}/flutter_release.json"
17+
echo "Detecting latest version..."
18+
if curl -fsSL "$FLUTTER_RELEASE_MANIFEST_URL" -o "$FLUTTER_RELEASE_MANIFEST_FILE";
19+
then
20+
CURRENT_RELEASE=$(jq -r ".current_release.${FLUTTER_CHANNEL}" "$FLUTTER_RELEASE_MANIFEST_FILE")
21+
FLUTTER_VERSION=$(jq -r ".releases | map(select(.hash == \"${CURRENT_RELEASE}\")) | .[0].version" "$FLUTTER_RELEASE_MANIFEST_FILE")
22+
rm "$FLUTTER_RELEASE_MANIFEST_FILE"
23+
else
24+
echo -e "::error::Failed to detect the latest version."
25+
exit 1
26+
fi
2027
fi
2128

2229
# Apple Intel or Apple Silicon

0 commit comments

Comments
 (0)