Melkeydev / go-blueprint

Go-blueprint allows users to spin up a quick Go project using a popular framework
https://docs.go-blueprint.dev/
MIT License
5.9k stars 333 forks source link

Feature/GitHubAction Templates for generated projects #108

Closed Ujstor closed 1 year ago

Ujstor commented 1 year ago

By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.

Feature

I added a step for users to choose workflow templates for Go code tests when there is a push or pull request (PR) and 'goreliser' template used in this repository. I like having this feature in my projects. If you find it useful, I'm glad that I can contribute to this fire repo

Description of Changes:

Checklist

blueprint_1
SudoSurya commented 1 year ago

instead of adding a whole new step why don't we keep it flag only if user wants workflows they just use a flag --workflows something like that.

Ujstor commented 1 year ago

I'm glad that the feature interests you, and we can implement it if you decide to do so. However, I find adding it without user consent to be tricky. When users open a new project that has just been created, the large number of files can be confusing. Lite and full versions or @20pa5a1210's idea(I like it); if needed, we can find a solution.

Melkeydev commented 1 year ago

I was actually think about this recently and there was an idea: we can add a --advanced flag that will give a lot more options for users to tinker/create with. That way the lite version will continue to be the way it is now, and the advanced flag can have a ton of new features like this one. Thoughts?

Ujstor commented 1 year ago

I like the idea. I saw bsquidwrd propose this on Discord. What should I do with this PR? I can resolve the conflict and keep it up to date. However, I'm not sure that I can implement this feature alone. Some help would be nice, or I need more time to understand the logic behind it.

Ujstor commented 1 year ago

There was a nasty conflict when merging my PR#108 into the staging branch. To resolve this, I created a fresh 'staging-2' branch from the current 'main'