Merge pull request #342 from abextm/faster-upload

package: use a single curl for downloading existing manifest chunks
This commit is contained in:
Abex
2020-06-16 04:05:24 -06:00
committed by GitHub
2 changed files with 15 additions and 10 deletions

View File

@@ -32,11 +32,12 @@ set -e -x
RUNELITE_VERSION="$(cat "runelite.version")"
MANIFEST="$(mktemp /tmp/manifest.XXXXXXXX)"
trap "rm -f ""$MANIFEST*""" EXIT
trap "rm -rf ""$MANIFEST*""" EXIT
MANIFEST_DIR="$MANIFEST.sub/"
mkdir "$MANIFEST_DIR"
echo "[" > "$MANIFEST"
MANIFEST_CHUNK_DOWNLOAD=()
IS_FIRST=true
for PLUGINFILE in plugins/*; do
# read in the plugin descriptor
disabled=
@@ -49,18 +50,22 @@ for PLUGINFILE in plugins/*; do
PLUGIN_ID=$(basename "$PLUGINFILE")
LOCATION="$REPO_ROOT/$RUNELITE_VERSION/$PLUGIN_ID/$commit"
MANIFEST_CHUNK_DOWNLOAD+=('--output' "$MANIFEST_DIR/$PLUGIN_ID" "$LOCATION.manifest")
done
RET=0
curl --fail "$LOCATION.manifest" > "$MANIFEST.sub" || RET=$?
[ $RET -ne 0 ] && continue
curl --fail --retry 5 --retry-connrefused \
--parallel \
"${MANIFEST_CHUNK_DOWNLOAD[@]}"
IS_FIRST=true
echo "[" > "$MANIFEST"
for MANIFEST_CHUNK in "$MANIFEST_DIR"/*; do
if [[ "$IS_FIRST" != true ]]; then
echo "," >> "$MANIFEST"
fi
IS_FIRST=
cat "$MANIFEST.sub" >> "$MANIFEST"
cat "$MANIFEST_CHUNK" >> "$MANIFEST"
done
echo "]" >> "$MANIFEST"
# shellcheck disable=SC2059
@@ -70,7 +75,7 @@ perl -e "print pack('N', -s \"$MANIFEST.sig\")" > "$MANIFEST.out"
cat "$MANIFEST.sig" >> "$MANIFEST.out"
cat "$MANIFEST" >> "$MANIFEST.out"
curl --fail \
curl --fail --retry 5 --retry-connrefused \
--user "$REPO_CREDS" \
--upload-file "$MANIFEST.out" "$REPO_ROOT/$RUNELITE_VERSION/manifest.js"

View File

@@ -98,7 +98,7 @@ if [ -e "icon.png" ]; then
ICON_UPLOAD=("--upload-file" "icon.png" "$LOCATION.png")
fi
curl --fail \
curl --fail --retry 5 --retry-connrefused \
--user "$REPO_CREDS" \
--upload-file "$BUILDDIR/plugin.manifest" "$LOCATION.manifest" \
--upload-file "$BUILDDIR/plugin.jar" "$LOCATION.jar" \