details-check-generate-matrix.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/bash
  2. ref="${LGSM_REF:-${GITHUB_REF#refs/heads/}}"
  3. curl "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${ref}/lgsm/data/serverlist.csv" | grep -v '^[[:blank:]]*$' > serverlist.csv
  4. echo -n "{" > "shortnamearray.json"
  5. echo -n "\"include\":[" >> "shortnamearray.json"
  6. while read -r line; do
  7. shortname=$(echo "$line" | awk -F, '{ print $1 }')
  8. export shortname
  9. servername=$(echo "$line" | awk -F, '{ print $2 }')
  10. export servername
  11. gamename=$(echo "$line" | awk -F, '{ print $3 }')
  12. export gamename
  13. distro=$(echo "$line" | awk -F, '{ print $4 }')
  14. export distro
  15. # Legacy servers that require older Ubuntu/Debian versions due to glibc compatibility
  16. case "${shortname}" in
  17. bfv|bf1942)
  18. # Requires Ubuntu <= 22.04 or Debian <= 12 (glibc 2.31 compatible)
  19. runner="ubuntu-22.04"
  20. ;;
  21. btl|onset)
  22. # Requires Ubuntu <= 20.04 or Debian <= 11 (glibc 2.31 compatible)
  23. runner="ubuntu-20.04"
  24. ;;
  25. *)
  26. runner="ubuntu-latest"
  27. ;;
  28. esac
  29. {
  30. echo -n "{";
  31. echo -n "\"shortname\":";
  32. echo -n "\"${shortname}\"";
  33. echo -n ",\"runner\":";
  34. echo -n "\"${runner}\"";
  35. echo -n "},";
  36. } >> "shortnamearray.json"
  37. done < <(tail -n +2 serverlist.csv)
  38. sed -i '$ s/.$//' "shortnamearray.json"
  39. echo -n "]" >> "shortnamearray.json"
  40. echo -n "}" >> "shortnamearray.json"
  41. rm serverlist.csv