Add automated tests for supported distros
3 notable files: run-tests.(ps1/sh) - the script you run in PowerShell or Terminal of choice, takes 1 optional argument - bot token, if not passed as an argument needs to be added manually to the "token" variable, not currently used as we're only testing n-prereq.
The array/map of distros should be kept updated, comment things in or out as you wish during testing, for example, you can comment everything except almalinux:8 if you just want to test that
The run-tests scripts should be updated to not install ffmpeg once n-prereq is properly fixed just to test that, then it should be added back to make the setup smoother with build caching
wrapper.sh - this is just a file that serves as "instructions" for n-bin.sh and is used as the entrypoint in the Dockerfile, it will pass arguments to n-bin in the order of the file, when no newlines are needed, add params to the same line (see 'yy' in the current iteration)
IMPORTANT: Since the scripts are very inconsistent in how they handle user input, testing other cases (e.g. installing the bot, then deps, then exiting) may require adjusting beyond just adding "1" before the "4" line, as it may require additional key presses (see lines 7 and 8 as an example, the script will fail unless there are at least two newlines (ENTER key) before choosing the next step)
The script will output logfiles for each test run in the format of [success|error]_[distro]_[version].txt into the repo dir, any non 0 exit code will generate an error_[distro]_[version].txt file
NOTE: The current iteration of the script is made to expect the container to stop, if you add a custom CMD to the Dockerfile the script will keep running until you exit the container, this behavior will be updated in the future to test the bot running or possibly music playback
Windows: .\distro-testing\run-tests.ps1
Linux: bash distro-testing/run-tests.sh