Closed arihant2math closed 1 year ago
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
I'd like to get this rolling. IMO the only thing to do is start creating tags.
Some questions to discuss @wfxr @cjappl:
Is it okay for you if I do this? I am volunteering to maintain the release process, so no work on your side, if you are fine with that. @wfxr If you as the initial creator of forgit want to maintain releases, though, I would be totally fine with that as well.
Do you have an opinion on whether to use semantic versioning or calendar versioning? Or do you have another preferred versioning scheme? IMO semantic versioning (major.minor.fix) seems legit for this project. We probably wouldn't ever use the fix revision, though.
Should we define a version for the current master already? If you prefer semantic versioning as well, do you think we are on 1.0.0 already? Since forgit is out there in the public and used by lots of people, and we try to keep changes backwards-compatible all the time, I would say yes. So we could define a 1.0.0 version. @wfxr Maybe there is a former version of forgit which you would think of as the first stable version? Or we could just tag the current master with 1.0.0?
Let me know what you think.
@carlfriedrich
Totally fine. And I appreciate all your work for forgit
.
I think calendar versioning is more appreciate for a project like forgit
. We can release new versions periodically without having to think too much about how to define a new version tag or when to do a release. The release processes may be fully automated through the github workflow.
This seems not be a problem if we choose calendar versioning?
All of the above WFM! 🚀
@wfxr
- Totally fine. And I appreciate all your work for
forgit
.
Great, thank you!
- I think calendar versioning is more appreciate for a project like
forgit
. We can release new versions periodically without having to think too much about how to define a new version tag or when to do a release. The release processes may be fully automated through the github workflow.
Release automating via GitHub workflow is what I thought of as well, that's definitely a good idea. So do you think we should do monthly releases then? This would mean if anybody pushes a feature on the beginning of a month, we would have to wait until the end of the month for a release.
I personally wouldn't mind creating tags manually everytime we merge something, always increasing the minor number by 1, so that we can release new features quickly. WDYT?
I personally wouldn't mind creating tags manually everytime we merge something, always increasing the minor number by 1, so that we can release new features quickly. WDYT?
Make sense. The version tag can be like YY.MM.x
. Increment x
by 1 when we manually release a new version as @carlfriedrich suggested. And reset x
to 0 when next month starts (by ci).
@wfxr That sounds useful. I would propose tagging the current master with 22.11.0 as the initial release then, and I will come up with a GitHub action for automatic monthly releases within the next two weeks.
I see two separate actions here:
Tag creation (triggered on every 1st day of the month)
Release creation (triggered on new tags)
Anything to add?
@carlfriedrich Nothing to add. The changelog is a good addition :+1: .
Done with #246 and #247.
Check list
Environment info
Problem / Steps to reproduce
forgit is not versioned. This is a problem because brew (see #194) depends on forgit being versioned.