Files
vsix_runtime_checks/check.sh
T
2026-06-15 13:33:36 +03:00

50 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -e
if [ "$#" -ne 2 ]; then
echo "Usage: $0 <publisher.extension> <version>"
exit 1
fi
PACKAGE_NAME=$1
PACKAGE_VERSION=$2
if [[ "$PACKAGE_NAME" != *.* ]]; then
echo "Package name must use publisher.extension format"
exit 1
fi
PUBLISHER=${PACKAGE_NAME%%.*}
EXTENSION=${PACKAGE_NAME#*.}
URL="https://marketplace.visualstudio.com/_apis/public/gallery/publishers/${PUBLISHER}/vsextensions/${EXTENSION}/${PACKAGE_VERSION}/vspackage"
RESULT_INPUT="${PACKAGE_NAME}-${PACKAGE_VERSION}.vsix"
mkdir -p input report output
export VSIX_RUNTIME_CHECK_VER=${VSIX_RUNTIME_CHECK_VER:-latest}
if [ -d ./report/git_package ]; then
sync
rm -rf ./report/git_package
echo "Clean git_package"
fi
echo "Download ${PACKAGE_NAME}@${PACKAGE_VERSION} from ${URL}"
curl \
--fail \
--location \
--header "Accept: application/octet-stream" \
--header "Accept-Encoding: identity" \
--output "input/${RESULT_INPUT}" \
"${URL}"
if gzip -t "input/${RESULT_INPUT}" 2>/dev/null; then
echo "Decompress gzip-wrapped VSIX"
gzip -dc "input/${RESULT_INPUT}" > "input/${RESULT_INPUT}.tmp"
mv "input/${RESULT_INPUT}.tmp" "input/${RESULT_INPUT}"
fi
export RELOAD_CONFIG=1
export ADD_METADATA_VOLUME='true'
bash ./run.sh "${RESULT_INPUT}" "$PACKAGE_NAME" "$PACKAGE_VERSION"