mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Moves script files out into a separate directory, and creates a jobs matrix to allow naming of jobs and specific jobs to not download all the deps if they don't need to.
80 lines
2.3 KiB
Bash
80 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
RED='\033[0;31m'
|
|
NC='\033[0m'
|
|
FAILED=0
|
|
|
|
#Checking for step_x/step_y defined in any maps anywhere.
|
|
(! grep 'step_[xy]' maps/**/*.dmm)
|
|
retVal=$?
|
|
if [ $retVal -ne 0 ]; then
|
|
echo -e "${RED}The variables 'step_x' and 'step_y' are present on a map, and they 'break' movement ingame.${NC}"
|
|
FAILED=1
|
|
fi
|
|
|
|
#Checking for 'tag' set to something on maps
|
|
(! grep -Pn '( |\t|;|{)tag( ?)=' maps/**/*.dmm)
|
|
retVal=$?
|
|
if [ $retVal -ne 0 ]; then
|
|
echo -e "${RED}A map has 'tag' set on an atom. It may cause problems and should be removed.${NC}"
|
|
FAILED=1
|
|
fi
|
|
|
|
#Checking for duplicate nanoui templates
|
|
(! find nano/templates/ -type f -exec md5sum {} + | sort | uniq -D -w 32 | grep nano)
|
|
retVal=$?
|
|
if [ $retVal -ne 0 ]; then
|
|
echo -e "${RED}There are identical nanoui template files present.${NC}"
|
|
FAILED=1
|
|
fi
|
|
|
|
#Checking for broken HTML tags (didn't close the quote for class)
|
|
(! grep -En "<\s*span\s+class\s*=\s*('[^'>]+|[^'>]+')\s*>" **/*.dm)
|
|
retVal=$?
|
|
if [ $retVal -ne 0 ]; then
|
|
echo -e "${RED}A broken span tag class is present (check quotes).${NC}"
|
|
FAILED=1
|
|
fi
|
|
|
|
#Checking for any 'checked' maps that include 'test'
|
|
(! grep 'maps\\.*test.*' *.dme)
|
|
retVal=$?
|
|
if [ $retVal -ne 0 ]; then
|
|
echo -e "${RED}A map containing the word 'test' is included. This is not allowed to be committed.${NC}"
|
|
FAILED=1
|
|
fi
|
|
|
|
#Check for weird indentation in any .dm files
|
|
awk -f tools/indentation.awk **/*.dm
|
|
retVal=$?
|
|
if [ $retVal -ne 0 ]; then
|
|
echo -e "${RED}Indention testing failed. Please see results and fix indentation.${NC}"
|
|
FAILED=1
|
|
fi
|
|
|
|
#Checking for a change to html/changelogs/example.yml
|
|
md5sum -c - <<< "88490b460c26947f5ec1ab1bb9fa9f17 *html/changelogs/example.yml"
|
|
retVal=$?
|
|
if [ $retVal -ne 0 ]; then
|
|
echo -e "${RED}Do not modify the example.yml changelog file.${NC}"
|
|
FAILED=1
|
|
fi
|
|
|
|
#Checking for color macros
|
|
(num=`grep -E '\\\\(red|blue|green|black|b|i[^mc])' **/*.dm | wc -l`; echo "$num escapes (expecting ${MACRO_COUNT} or less)"; [ $num -le ${MACRO_COUNT} ])
|
|
retVal=$?
|
|
if [ $retVal -ne 0 ]; then
|
|
echo -e "${RED}Do not use any byond color macros (such as \blue), they are deprecated.${NC}"
|
|
FAILED=1
|
|
fi
|
|
|
|
#Checking for missed tags
|
|
python tools/TagMatcher/tag-matcher.py ../..
|
|
retVal=$?
|
|
if [ $retVal -ne 0 ]; then
|
|
echo -e "${RED}Some HTML tags are missing their opening/closing partners. Please correct this.${NC}"
|
|
FAILED=1
|
|
fi
|
|
|
|
# Quit with our status code
|
|
exit $FAILED |