An open API service indexing awesome lists of open source software.

https://github.com/iogamaster/grove


https://github.com/iogamaster/grove

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

          


Logo

Streamline the Minecraft Modpack Release Process with GitHub Actions!



Use this template

GitHub Actions Badge
Minecraft Badge

---

**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!

### Key Features

1. **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.

2. **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/): ` for adding new features, configurations or content.
- `chore(modpack/): ` for routine maintenance tasks or cleanups.
- `update(modpack/): update ` for updating mods to newer versions.
- `mod(modpack/): add ` for introducing new mods to the modpack.

4. **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.

### Getting Started

1. **Fork the Repository**

Start by forking this repository to your GitHub account.

2. **Set Up Secrets and Permissions**

- Navigate to "Settings" -> "Secrets" and add the following secrets:
- `MODRINTH_TOKEN`, `MODRINTH_ID` for Modrinth authentication.
- `CURSEFORGE_TOKEN`, `CURSEFORGE_ID` for CurseForge authentication.
- Enable "Allow GitHub Actions to create and approve pull requests" under "Settings" -> "Actions" -> "General" -> "Workflow permissions".

3. **Initialize Your Modpack**

- Generate a `pack.toml` file using `packwiz` (installation instructions [here](https://packwiz.infra.link/installation/)) within a modpack folder.
- Begin by running `packwiz init`, preferably within the `main` directory.

4. **Set a release channel**
- By default this template uses the `beta (0.1.0)` channel, you can switch it to `release (1.0.0)` when you are ready!
- This can be done via executing `.github/workflows/bump-version-release.yml`!

5. **You are good to go!**
- You can now merge the release PR that release please has made, sit back and enjoy a cup of coffee! ☕ ^-^

### Troubleshooting and Support

If you encounter any issues or need assistance, consult the [Issues](https://github.com/jh-devv/mc-modpack-kit/issues) page or reach out via my GitHub profile.

### License

This project is licensed under the [CC0 1.0 Universal License](LICENSE).

### Acknowledgments

- This project makes effective use of GitHub Actions and various tools to automate the modpack release process.
- A heartfelt ❤️ thank you to [Rafii](https://github.com/Rafii2198) for helping with this!
- Special thanks to the GitHub community for their contributions and support.

---

Contributions, feedback, and improvements are warmly welcomed! Let's propel this project forward together! 🚀