Skip to content

Commit 36673a6

Browse files
committed
Add extra verification to Verifying checksum & Extracting installation archive
1 parent f2d512a commit 36673a6

File tree

1 file changed

+28
-18
lines changed

1 file changed

+28
-18
lines changed

action.sh

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -88,40 +88,50 @@ if [ ! -d "${FLUTTER_RUNNER_TOOL_CACHE}" ]; then
8888
FLUTTER_BUILD="flutter_${FLUTTER_BUILD_OS}_${FLUTTER_VERSION}-${FLUTTER_CHANNEL}.${EXT}"
8989
FLUTTER_DOWNLOAD_URL=${FLUTTER_DOWNLOAD_URL:-"${FLUTTER_RELEASE_URL}/${FLUTTER_CHANNEL}/${FLUTTER_OS}/${FLUTTER_BUILD}"}
9090

91-
echo "Downloading ${FLUTTER_DOWNLOAD_URL}"
92-
9391
# Download installation archive
92+
echo "Downloading ${FLUTTER_DOWNLOAD_URL}"
9493
DOWNLOAD_PATH="${RUNNER_TEMP}/${FLUTTER_BUILD}"
95-
if curl --connect-timeout 15 --retry 5 "$FLUTTER_DOWNLOAD_URL" > ${DOWNLOAD_PATH};
96-
then
97-
if [[ -n "${FLUTTER_RELEASE_SHA256}" ]]; then
98-
echo -n "Verifying checksum: "
99-
if [[ $OS == "macos" ]]
100-
then
101-
# Note: on macOS put 2 spaces between the hash and the filename
102-
echo "${FLUTTER_RELEASE_SHA256} ${DOWNLOAD_PATH}" | shasum -a 256 -c -
103-
else
104-
echo "${FLUTTER_RELEASE_SHA256} ${DOWNLOAD_PATH}" | sha256sum -c -
105-
fi
106-
fi
107-
else
94+
curl --connect-timeout 15 --retry 5 "$FLUTTER_DOWNLOAD_URL" > ${DOWNLOAD_PATH}
95+
if [ $? -ne 0 ]; then
10896
echo -e "::error::Download failed! Please check passed arguments."
10997
exit 1
11098
fi
11199

100+
# Verifying checksum
101+
if [[ -n "${FLUTTER_RELEASE_SHA256}" ]]; then
102+
FLUTTER_RELEASE_SHA256_CODE=0
103+
echo -n "Verifying checksum: "
104+
if [[ $OS == "macos" ]]
105+
then
106+
# Note: on macOS put 2 spaces between the hash and the filename
107+
echo "${FLUTTER_RELEASE_SHA256} ${DOWNLOAD_PATH}" | shasum -a 256 -c -
108+
FLUTTER_RELEASE_SHA256_CODE=$?
109+
else
110+
echo "${FLUTTER_RELEASE_SHA256} ${DOWNLOAD_PATH}" | sha256sum -c -
111+
FLUTTER_RELEASE_SHA256_CODE=$?
112+
fi
113+
if [ $FLUTTER_RELEASE_SHA256_CODE -ne 0 ]; then
114+
echo -e "::error::Checksum verification failed! Please check passed arguments."
115+
exit 1
116+
fi
117+
fi
118+
112119
# Prepare tool cache folder
113120
mkdir -p "${FLUTTER_RUNNER_TOOL_CACHE}"
114121

115122
# Extracting installation archive
123+
EXTRACT_ARCHIVE_CODE=0
124+
echo "Extracting Flutter SDK archive..."
116125
if [[ $OS == linux ]]
117126
then
118127
tar -C "${FLUTTER_RUNNER_TOOL_CACHE}" -xf ${DOWNLOAD_PATH} > /dev/null
128+
EXTRACT_ARCHIVE_CODE=$?
119129
else
120130
unzip ${DOWNLOAD_PATH} -d "${FLUTTER_RUNNER_TOOL_CACHE}" > /dev/null
131+
EXTRACT_ARCHIVE_CODE=$?
121132
fi
122-
123-
if [ $? -ne 0 ]; then
124-
echo -e "::error::Download failed! Please check passed arguments."
133+
if [ $EXTRACT_ARCHIVE_CODE -ne 0 ]; then
134+
echo -e "::error::Failed to extract Flutter SDK archive."
125135
exit 1
126136
fi
127137
else

0 commit comments

Comments
 (0)