Repo for testing all Cyclops mods in a production client and server environment.
While mods are always tested in isolation within their own development environment, development environments can always differ a bit compared to production environments, especially when combined with other mods.
As such, this repo aims to test real-world environments to ensure everything works as intended.
This defines several modpacks (see modpacks/) for different mod loaders at different minecraft versions.
These packs are defined in their own pom.xml file, which defines their precise version.
Not all packs may be defined for all loaders and minecraft versions.
cyclops-all: All mods developed under the Cyclops organization.cyclops-all-deps: All mods developed under the Cyclops organization, including their optional dependencies.cyclops-id: All Integrated Dynamics-related mods developed under the Cyclops organization.
All packs are started in both a client and server environment, using the mc-runtime-test and mc-server-test GitHub actions. Additionally, game tests are executed.
Mod jars are cached per modpack pom.xml hash.
The client Minecraft installation (~/.minecraft) is cached per Minecraft version, loader, and latest loader build
(resolved by .github/scripts/resolve-loader-version.sh), so a new loader release automatically invalidates it.
To force a reset, bump the hmc-v1 prefix of the cache key in .github/workflows/gametests.yml.
Servers are reinstalled on every run and are not cached.
Using Renovate, versions of all mods are always automatically updated to their latest version. This allows us to detect breaking changes immediately.
The mod jars of all modpacks are made available as downloads.
To access these, you open the latest workflow run,
and download the artifact you are interested in (e.g. cyclops-all-1.21.1-neoforge-mods).
All code is licenced under the MIT License