Skip to content

Development Process

Ruben Taelman edited this page Jan 10, 2021 · 7 revisions

This page describes the general development process of Cyclops mods

Mod structure

In order to reduce code duplication, common code between mods is shared in CyclopsCore. This mod is therefore a dependency for all other mods.

Issue Management

Project boards

  • Maintenance: Bugs, questions, performance issues, and others.
    • Decomposed into on-hold, todo (minor), todo (major)
  • Features: Optional and accepted features.

Issues in the maintenance board are considered more important than those in the features board, as we aim to achieve stability over new features.

Issue creation

Issues across all Cyclops repos use the same issue templates:

  • 🐛 Bug report: If something is not working as expected or crashes
  • ➕ Feature request: Suggest an idea for this project
  • 🐌 Performance issue: An issue with the performance of this mod, such as abnormal lag.
  • ❓ Question: A general question
  • Other...

Using GitHub workflows, the following automation occurs when issues are created:

  • Label new issues: Based on the issue template, the proper issue label is attached (bug, feature-long-term, performance, question). Additionally, a label for the relevant Minecraft version is attached.
  • Comment on issues by label: Based on the issue template, a comment to thank the issue creator is placed.
  • Add labeled issues to project board: Based on the issue template, the issue is added to the features project board )(for features) or the maintenace project board (for all others).

When an issue uses the wrong issue template

If an issue does not conform to the issue template, the invalid-template label can be added. This will cause a comment to be placed asking the creator to update the issue. If no changes are done within 7 days, the issue is closed.

When more information is needed

If more information is needed from the issue creator, the more-information-needed label can be added. This will cause the issue to be automatically closed after 14 days when no further comments are received.

Labels

Issue labels across all repos are identical.

Important to mention is that a label exist for all (major-minor) Minecraft versions (mc-x.xx).

New labels can be added and synchronized across all repos via this tool.

Management of common files

Clone this wiki locally