Browse Source

feat: add serverlist game icon validation

This commit adds a new script `serverlist-validate-game-icons.sh` that checks if all the game servers listed in `serverlist.csv` have a corresponding `shortname-icon.png` file. It also verifies that the number of game icons matches the number of servers in `serverlist.csv`. The script is executed as part of the workflow defined in `serverlist-validate.yml`.

Co-authored-by: [co-author-name]
pull/4345/head
Daniel Gibbs 2 years ago
parent
commit
e460991841
No known key found for this signature in database GPG Key ID: 2076B128385E8C55
  1. 29
      .github/workflows/serverlist-validate-game-icons.sh
  2. 3
      .github/workflows/serverlist-validate.yml

29
.github/workflows/serverlist-validate-game-icons.sh

@ -0,0 +1,29 @@
#!/bin/bash
cd "lgsm/data" || exit
echo ""
echo "Checking that all the game servers listed in serverlist.csv have a shortname-icon.png file"
for shortname in $(tail -n +2 serverlist.csv | cut -d ',' -f1); do
# check if $shortname-icon.png exists
if [ ! -f "gameicons/${shortname}-icon.png" ]; then
echo "ERROR: gameicons/${shortname}-icon.png does not exist"
exitcode=1
else
echo "OK: gameicons/${shortname}-icon.png exists"
fi
done
# check that the number of gameicons matches the number of servers in serverlist.csv
echo ""
echo "Checking that the number of gameicons matches the number of servers in serverlist.csv"
gameiconcount="$(ls -1 gameicons | wc -l)"
serverlistcount="$(tail -n +2 serverlist.csv | wc -l)"
if [ "${gameiconcount}" -ne "${serverlistcount}" ]; then
echo "ERROR: game icons (${gameiconcount}) does not match serverlistcount ($serverlistcount)"
exitcode=1
else
echo "OK: gameiconcount ($gameiconcount) matches serverlistcount ($serverlistcount)"
fi
exit ${exitcode}

3
.github/workflows/serverlist-validate.yml

@ -12,3 +12,6 @@ jobs:
- name: Compare Versions
run: chmod +x .github/workflows/serverlist-validate.sh; .github/workflows/serverlist-validate.sh
- name: Validate Game Icons
run: chmod +x .github/workflows/serverlist-validate-game-icons.sh; .github/workflows/serverlist-validate-game-icons.sh

Loading…
Cancel
Save