Actions: use external script

This commit is contained in:
Miepee 2022-03-01 14:16:39 +01:00 committed by Riesi
parent c6e69d7295
commit ef42630fca
2 changed files with 82 additions and 78 deletions

View File

@ -13,81 +13,5 @@ jobs:
- name: Check SVG validity
run: |
# Enables globstar to recursively go through folders
shopt -s globstar
errArr=()
for f in ./svg/**/*.svg
do
echo "Checking '$f'"
# Checking if file contains space in path
if [[ $f == *\ * ]] ; then
errArr+=("$f contains a space!")
fi
# Save first few lines of file into variable to make parsing faster
headfile=$(head -n 50 "$f")
# Gets everything in between the viewBox quotes
vbStr=${headfile}
vbStr=${vbStr##*viewBox=\"}
vbStr=${vbStr%%\"*}
# sets x, y, width, height params
vbArr=($vbStr)
vbX=${vbArr[0]}
vbY=${vbArr[1]}
vbW=${vbArr[2]}
vbH=${vbArr[3]}
# Check that viewbox' x and y are 0
if [[ $vbX != 0 || $vbY != 0 ]] ; then
errArr+=("$f has viewBox' x: $vbX and y: $vbY")
fi
# Check that viewbox' width and height are equal
if [[ $vbW != $vbH ]] ; then
errArr+=("$f has viewbox -width: $vbW and -height: $vbH")
fi
# Check if normal width/height parameters exist and
# if yes, compare them with viewBox height/width
svgTags=${headfile}
svgTags=${svgTags##*\<svg}
svgTags=${svgTags%%\>*}
# Width comparison
if [[ $svgTags == *width* ]] ; then
w=${svgTags##*width=\"}
w=${w%%\"*}
if [[ $w != $vbW ]] ; then
errArr+=("$f has width: $w but viewbox-width: $vbW")
fi
fi
# Height comparison
if [[ $svgTags == *height* ]] ; then
h=${svgTags##*height=\"}
h=${h%%\"*}
if [[ $h != $vbH ]] ; then
errArr+=("$f has height: $h but viewbox-height: $vbH")
fi
fi
# Check that svg is not 1 line
if [[ $(wc -l < "$f") == 0 ]] ; then
errArr+=("$f is only one line!")
fi
done
# Results
# If the error Array is not empty, print everything from it and error out
# Otherwise exit normally
if [[ ${#errArr[@]} != 0 ]] ; then
echo "--------------------"
for errMess in "${errArr[@]}"
do
echo $errMess
done
exit 1
fi
echo "No Errors!"
set -e
bash ./checkEmojis.sh

80
checkEmojis.sh Normal file
View File

@ -0,0 +1,80 @@
#!/usr/bin/env bash
# Enables globstar to recursively go through folders
shopt -s globstar
errArr=()
for f in ./svg/**/*.svg
do
echo "Checking '$f'"
# Checking if file contains space in path
if [[ $f == *\ * ]] ; then
errArr+=("$f contains a space!")
fi
# Save first few lines of file into variable to make parsing faster
headfile=$(head -n 50 "$f")
# Gets everything in between the viewBox quotes
vbStr=${headfile}
vbStr=${vbStr##*viewBox=\"}
vbStr=${vbStr%%\"*}
# sets x, y, width, height params
vbArr=($vbStr)
vbX=${vbArr[0]}
vbY=${vbArr[1]}
vbW=${vbArr[2]}
vbH=${vbArr[3]}
# Check that viewbox' x and y are 0
if [[ $vbX != 0 || $vbY != 0 ]] ; then
errArr+=("$f has viewBox' x: $vbX and y: $vbY")
fi
# Check that viewbox' width and height are equal
if [[ $vbW != $vbH ]] ; then
errArr+=("$f has viewbox -width: $vbW and -height: $vbH")
fi
# Check if normal width/height parameters exist and
# if yes, compare them with viewBox height/width
svgTags=${headfile}
svgTags=${svgTags##*\<svg}
svgTags=${svgTags%%\>*}
# Width comparison
if [[ $svgTags == *width* ]] ; then
w=${svgTags##*width=\"}
w=${w%%\"*}
if [[ $w != $vbW ]] ; then
errArr+=("$f has width: $w but viewbox-width: $vbW")
fi
fi
# Height comparison
if [[ $svgTags == *height* ]] ; then
h=${svgTags##*height=\"}
h=${h%%\"*}
if [[ $h != $vbH ]] ; then
errArr+=("$f has height: $h but viewbox-height: $vbH")
fi
fi
# Check that svg is not 1 line
if [[ $(wc -l < "$f") == 0 ]] ; then
errArr+=("$f is only one line!")
fi
done
# Results
# If the error Array is not empty, print everything from it and error out
# Otherwise exit normally
if [[ ${#errArr[@]} != 0 ]] ; then
echo "--------------------"
for errMess in "${errArr[@]}"
do
echo $errMess
done
exit 1
fi
echo "No Errors!"