Skip to content

Commit 6706192

Browse files
committed
reupload libs
1 parent d004330 commit 6706192

File tree

1 file changed

+87
-7
lines changed

1 file changed

+87
-7
lines changed

.github/scripts/on-release.sh

Lines changed: 87 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,11 @@ set -e
217217
##
218218

219219
mkdir -p "$OUTPUT_DIR"
220-
PKG_DIR="$OUTPUT_DIR/$PACKAGE_NAME"
220+
PKG_DIR="${OUTPUT_DIR:?}/$PACKAGE_NAME"
221221
PACKAGE_ZIP="$PACKAGE_NAME.zip"
222+
PACKAGE_XZ="$PACKAGE_NAME.tar.xz"
223+
LIBS_ZIP="$PACKAGE_NAME-libs.zip"
224+
LIBS_XZ="$PACKAGE_NAME-libs.tar.xz"
222225

223226
echo "Updating version..."
224227
update_version "$RELEASE_TAG"
@@ -318,7 +321,7 @@ echo \#define ARDUINO_ESP32_GIT_DESC "$(git -C "$GITHUB_WORKSPACE" describe --ta
318321
echo \#define ARDUINO_ESP32_RELEASE_"$ver_define" >> "$PKG_DIR/cores/esp32/core_version.h"
319322
echo \#define ARDUINO_ESP32_RELEASE \""$ver_define"\" >> "$PKG_DIR/cores/esp32/core_version.h"
320323

321-
# Compress package folder
324+
# Compress ZIP package folder
322325
echo "Creating ZIP ..."
323326
pushd "$OUTPUT_DIR" >/dev/null
324327
zip -qr "$PACKAGE_ZIP" "$PACKAGE_NAME"
@@ -328,22 +331,99 @@ if [ $? -ne 0 ]; then
328331
fi
329332

330333
# Calculate SHA-256
331-
echo "Calculating SHA sum ..."
332-
PACKAGE_PATH="$OUTPUT_DIR/$PACKAGE_ZIP"
334+
echo "Calculating ZIP SHA sum ..."
335+
PACKAGE_PATH="${OUTPUT_DIR:?}/$PACKAGE_ZIP"
333336
PACKAGE_SHA=$(shasum -a 256 "$PACKAGE_ZIP" | cut -f 1 -d ' ')
334337
PACKAGE_SIZE=$(get_file_size "$PACKAGE_ZIP")
335338
popd >/dev/null
336-
rm -rf "$PKG_DIR"
337339
echo "'$PACKAGE_ZIP' Created! Size: $PACKAGE_SIZE, SHA-256: $PACKAGE_SHA"
338340
echo
339341

340-
# Upload package to release page
341-
echo "Uploading package to release page ..."
342+
# Compress XZ package folder
343+
echo "Creating XZ ..."
344+
pushd "$OUTPUT_DIR" >/dev/null
345+
tar -cJf "$PACKAGE_XZ" "$PACKAGE_NAME"
346+
if [ $? -ne 0 ]; then
347+
echo "ERROR: Failed to create $PACKAGE_XZ ($?)"
348+
exit 1
349+
fi
350+
351+
# Calculate SHA-256
352+
echo "Calculating XZ SHA sum ..."
353+
PACKAGE_XZ_PATH="${OUTPUT_DIR:?}/$PACKAGE_XZ"
354+
PACKAGE_XZ_SHA=$(shasum -a 256 "$PACKAGE_XZ" | cut -f 1 -d ' ')
355+
PACKAGE_XZ_SIZE=$(get_file_size "$PACKAGE_XZ")
356+
popd >/dev/null
357+
echo "'$PACKAGE_XZ' Created! Size: $PACKAGE_XZ_SIZE, SHA-256: $PACKAGE_XZ_SHA"
358+
echo
359+
360+
# Upload ZIP package to release page
361+
echo "Uploading ZIP package to release page ..."
342362
PACKAGE_URL=$(git_safe_upload_asset "$PACKAGE_PATH")
343363
echo "Package Uploaded"
344364
echo "Download URL: $PACKAGE_URL"
345365
echo
346366

367+
# Upload XZ package to release page
368+
echo "Uploading XZ package to release page ..."
369+
PACKAGE_XZ_URL=$(git_safe_upload_asset "$PACKAGE_XZ_PATH")
370+
echo "Package Uploaded"
371+
echo "Download URL: $PACKAGE_XZ_URL"
372+
echo
373+
374+
# Remove package folder
375+
rm -rf "$PKG_DIR"
376+
377+
# Copy Libs from lib-builder to release in ZIP and XZ
378+
379+
libs_url=$(cat "$PACKAGE_JSON_TEMPLATE" | jq -r ".packages[0].tools[] | select(.name == \"esp32-arduino-libs\") | .systems[0].url")
380+
libs_sha=$(cat "$PACKAGE_JSON_TEMPLATE" | jq -r ".packages[0].tools[] | select(.name == \"esp32-arduino-libs\") | .systems[0].checksum" | sed 's/^SHA-256://')
381+
libs_size=$(cat "$PACKAGE_JSON_TEMPLATE" | jq -r ".packages[0].tools[] | select(.name == \"esp32-arduino-libs\") | .systems[0].size")
382+
echo "Downloading libs from lib-builder ..."
383+
echo "URL: $libs_url"
384+
echo "Expected SHA: $libs_sha"
385+
echo "Expected Size: $libs_size"
386+
echo
387+
388+
echo "Downloading libs from lib-builder ..."
389+
curl -L -o "$OUTPUT_DIR/$LIBS_ZIP" "$libs_url"
390+
391+
# Check SHA and Size
392+
zip_sha=$(sha256sum "$OUTPUT_DIR/$LIBS_ZIP" | awk '{print $1}')
393+
zip_size=$(stat -c%s "$OUTPUT_DIR/$LIBS_ZIP")
394+
echo "Downloaded SHA: $zip_sha"
395+
echo "Downloaded Size: $zip_size"
396+
if [ "$zip_sha" != "$libs_sha" ] || [ "$zip_size" != "$libs_size" ]; then
397+
echo "ERROR: ZIP SHA and Size do not match"
398+
exit 1
399+
fi
400+
401+
# Extract ZIP
402+
403+
echo "Repacking libs to XZ ..."
404+
mkdir -p "${OUTPUT_DIR:?}/tmp-libs"
405+
unzip "$OUTPUT_DIR/$LIBS_ZIP" -d "$OUTPUT_DIR/tmp-libs"
406+
tar -cJf "$OUTPUT_DIR/$LIBS_XZ" "$OUTPUT_DIR/tmp-libs"
407+
408+
# Upload ZIP and XZ libs to release page
409+
410+
echo "Uploading ZIP libs to release page ..."
411+
LIBS_ZIP_URL=$(git_safe_upload_asset "$OUTPUT_DIR/$LIBS_ZIP")
412+
echo "ZIP libs Uploaded"
413+
echo "Download URL: $LIBS_ZIP_URL"
414+
echo
415+
416+
echo "Uploading XZ libs to release page ..."
417+
LIBS_XZ_URL=$(git_safe_upload_asset "$OUTPUT_DIR/$LIBS_XZ")
418+
echo "XZ libs Uploaded"
419+
echo "Download URL: $LIBS_XZ_URL"
420+
echo
421+
422+
# Clean up
423+
rm -rf "${OUTPUT_DIR:?}/tmp-libs"
424+
rm -rf "${OUTPUT_DIR:?}/$LIBS_ZIP"
425+
rm -rf "${OUTPUT_DIR:?}/$LIBS_XZ"
426+
347427
##
348428
## TEMP WORKAROUND FOR RV32 LONG PATH ON WINDOWS
349429
##

0 commit comments

Comments
 (0)