HerculesWS / Hercules

Hercules is a collaborative software development project revolving around the creation of a robust massively multiplayer online role playing game (MMORPG) server package. Written in C, the program is very versatile and provides NPCs, warps and modifications. The project is jointly managed by a group of volunteers located around the world as well as a tremendous community providing QA and support. Hercules is a continuation of the original Athena project.
http://herc.ws
GNU General Public License v3.0
903 stars 757 forks source link

Actions CI adjustments #3217

Closed guilherme-gm closed 1 year ago

guilherme-gm commented 1 year ago

Pull Request Prelude

Changes Proposed

  1. Change healthcheck code for actions using MariaDB container.

the current approach of using mysqladmin ping is failing all the time, using the healtcheck script contained in the container image should be enough, since it ensures the instance is reachable

mysql containers still use mysqladmin ping (since healthcheck.sh is not available for them)

from my tests, the issue about failing due to unhealthy MariaDB is fixed. There is still the rare occurrence of one container failing in the overall step, but restarting the specific one works.

  1. Add a 1 hour timeout to all jobs that runs hercules

After fixing MariaDB checks, I noticed that tests that starts/stops Hercules sometimes gets frozen and stays running until it reaches GitHub's default timeout (6 hours). Those jobs usually finish in 10 minutes, with a few exceptions that takes about 30 minutes.

I set their timeout to 1 hour, in case any of the tests end up locked they will fail in 1 hour instead of 6, saving a good amount of runner minutes.

Sample of it failling : https://github.com/guilherme-gm/Hercules/actions/runs/5502605147/jobs/10027096701

Issues addressed: None