Streamline the Minecraft Modpack Release Process with GitHub Actions!
mc-modpack-kit is a GitHub Actions workflow template designed to simplify the release process of Minecraft modpacks using a structured monorepo approach. It automates essential tasks such as versioning, modpack building, and publishing on platforms like Modrinth and CurseForge.
It also includes an nix flake
for you fellow nix enjoyers! The actions also use it!
Monorepo Structure
Embrace the power of organization with a monorepo-style architecture. Each subdirectory represents a different modpack version or loader type, streamlining your management of multiple modpack variations within a single repository.
Example subdirectories:
fabric/
: Fabric loader version.forge/
: Forge loader version.You can create more just by initializing packwiz in the said directory of your choosing.
Automated Releases
Experience effortless version control with Release Please, which generates changelogs and handles version releases automatically, in sync with your pull requests. Maintain clarity with Conventional Commit Messages.
Examples:
feat(modpack/<mod>): <description>
for adding new features, configurations or content.chore(modpack/<mod>): <description>
for routine maintenance tasks or cleanups.update(modpack/<mod>): update <mod>
for updating mods to newer versions.mod(modpack/<mod>): add <mod>
for introducing new mods to the modpack.Mod Updates
Update your mods effortlessly by utilizing the update.yml
workflow located in .github/workflows/update.yml
. This action efficiently updates all mods across all subdirectories.
Fork the Repository
Start by forking this repository to your GitHub account.
Set Up Secrets and Permissions
MODRINTH_TOKEN
, MODRINTH_ID
for Modrinth authentication.CURSEFORGE_TOKEN
, CURSEFORGE_ID
for CurseForge authentication.Initialize Your Modpack
pack.toml
file using packwiz
(installation instructions here) within a modpack folder.packwiz init
, preferably within the main
directory.Set a release channel
beta (0.1.0)
channel, you can switch it to release (1.0.0)
when you are ready!.github/workflows/bump-version-release.yml
!You are good to go!
If you encounter any issues or need assistance, consult the Issues page or reach out via my GitHub profile.
This project is licensed under the CC0 1.0 Universal License.
Contributions, feedback, and improvements are warmly welcomed! Let's propel this project forward together! 🚀