Nolij / Zume

An over-engineered zoom mod for Minecraft
Open Software License 3.0
14 stars 4 forks source link

Add Automated Smoke Testing #10

Closed Nolij closed 2 weeks ago

Nolij commented 7 months ago

Tested platforms should include:

Testing should verify that each listed version & platform launches without crashing.

Additionally, the following are nice to haves that may only be applied to the most-used versions:

Ideally this should be able to be performed locally as I imagine launch testing alone would take an extremely long time in CI on GitHub-provided runners.

rhysdh540 commented 7 months ago

Would it be a good idea to run multiple instances of Minecraft concurrently to improve testing time?

Nolij commented 7 months ago

Would it be a good idea to run multiple instances of Minecraft concurrently to improve testing time?

This would probably be infeasible on GitHub runners, but on a sufficiently powerful PC it should be very doable, hence my desire for it to be able to be run locally. Ideally I'll run all the tests at the same time on my PC.

embeddedt commented 6 months ago

This would probably be infeasible on GitHub runners

You can use a matrix action to run multiple runners at once; up to 20 concurrently running jobs are allowed per project if I recall correctly.

embeddedt commented 2 months ago

We can use https://github.com/coactions/setup-xvfb to run the game in a GitHub action without any special configuration of OpenGL, but we'll need a headless launcher so that we can test production builds. Testing deobf builds run through Gradle is probably unwise for Zume due to the obfuscation/jar compression that often breaks things.