DEV Community

Nuno "Omega Leo" Diogo
Nuno "Omega Leo" Diogo

Posted on

UnityFlow - Automated Workflow for Unity Projects

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;

Documentarion

  • 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

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay