Files
blockly/tests/scripts/update_metadata.sh
Aaron Dodson e89fcea02c fix: Make metadata tests more resilient. (#6771)
* fix: Make metadata tests more resilient.

* fix: improve control flow and clarify xargs purpose.
2023-01-17 08:32:05 -08:00

47 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# Determines the size of generated files and updates check_metadata.sh to
# reflect the new values.
# Location of the pre-built compressed files.
#
# (TODO(#5007): Should fetch this from scripts/gulpfiles/config.js
# instead of hardcoding it here.
readonly RELEASE_DIR='dist'
gzip -k "${RELEASE_DIR}/blockly_compressed.js"
gzip -k "${RELEASE_DIR}/blocks_compressed.js"
# wc prefixes the file size with whitespace; xargs strips that and the -n flag to
# echo removes the newline.
blockly_size=$(wc -c < "${RELEASE_DIR}/blockly_compressed.js" | xargs echo -n)
blocks_size=$(wc -c < "${RELEASE_DIR}/blocks_compressed.js" | xargs echo -n)
blockly_gz_size=$(wc -c < "${RELEASE_DIR}/blockly_compressed.js.gz" | xargs echo -n)
blocks_gz_size=$(wc -c < "${RELEASE_DIR}/blocks_compressed.js.gz" | xargs echo -n)
quarters=(1 1 1 2 2 2 3 3 3 4 4 4)
month=$(date +%-m)
quarter=$(echo Q${quarters[$month - 1]} $(date +%Y))
version=$(npx -c 'echo "$npm_package_version"')
replacement="# ${quarter}\t${version}\t${blockly_size}\n"
replacement+="readonly BLOCKLY_SIZE_EXPECTED=${blockly_size}"
sed -ri.bak "s/readonly BLOCKLY_SIZE_EXPECTED=[0-9]+/${replacement}/g" \
tests/scripts/check_metadata.sh
replacement="# ${quarter}\t${version}\t${blocks_size}\n"
replacement+="readonly BLOCKS_SIZE_EXPECTED=${blocks_size}"
sed -ri.bak "s/readonly BLOCKS_SIZE_EXPECTED=[0-9]+/${replacement}/g" \
tests/scripts/check_metadata.sh
replacement="# ${quarter}\t${version}\t${blockly_gz_size}\n"
replacement+="readonly BLOCKLY_GZ_SIZE_EXPECTED=${blockly_gz_size}"
sed -ri.bak "s/readonly BLOCKLY_GZ_SIZE_EXPECTED=[0-9]+/${replacement}/g" \
tests/scripts/check_metadata.sh
replacement="# ${quarter}\t${version}\t${blocks_gz_size}\n"
replacement+="readonly BLOCKS_GZ_SIZE_EXPECTED=${blocks_gz_size}"
sed -ri.bak "s/readonly BLOCKS_GZ_SIZE_EXPECTED=[0-9]+/${replacement}/g" \
tests/scripts/check_metadata.sh
rm tests/scripts/check_metadata.sh.bak