What I built
A repository with code and actions that can be useful for C# projects and also Unity projects.
Category Submission:
maintainer must-haves
App Link
https://github.com/omegaleo/UnityFlow
Screenshots
N/A
Description
My entry takes an approach to the category of maintainer must-haves where my goal is to do a set of tools/template repo to help devs deploy and keep their documentation and changelogs up-to-date, it'll mostly be for C# developers and consists of the following:
- auto-tag: C# project that will be called whenever an issue is created/updated and will properly tag the issue depending on what is written in the title/description. Example: If I write @feature in the description, once the workflow is called it'll tag that issue with the feature tag.
- changelog-generator: C# project that will be in charge of updating the changelog.md and also changes for the release whenever one is generated. Say for example, if I made a release with the tag v1.0.0, it'll call the workflow, get me all the commit messages since the last release that match a filter, update the release's description with those commit messages and also add the lines for it in the changelog.md
- documentation-helper: C# Project that will handle the automatic generation of documentation and is divided into 2 components:
- Library: For now only has the DocumentationAttribute(used to mark methods/properties/classes for documentation, see image below for example) and DocumentationHelper, a static class that will go through all assemblies in the project and check for the DocumentationAttribute and return in a DocumentationStructure list that will be used to show the documentation;
- DocumentationGenerator: Simple script that will be called manually from the Actions menu and that will update the documentation.md using the DocumentationHelper described above.
Link to Source Code
https://github.com/omegaleo/UnityFlow
Permissive License
MIT
Background (What made you decide to build this particular app? What inspired you?)
Well, as a Unity Dev for the last 5 years I've always wondered what sort of tools would help me greatly improve my workflow and so with that in mind I started developing this repo.
How I built it (How did you utilize GitHub Actions or GitHub Codespaces? Did you learn something new along the way? Pick up a new skill?)
I have actions set up for the following:
- When a new issue/pull request is created: Call the auto-tag project and tag the issue/pull request
- When a new release is created: Call the changelog-generator project and write a list of changes compared to the previous release based on commit descriptions
- Manually: Call the documentation-helper project to write documentation for the projects that have the library added to.
Additional Resources/Info
N/A
Top comments (0)