Comments (3)
Thanks for the helpful suggestion @kevinmatthes
Currently, I still prefer to manage the releases manually, since the app is changing rapidly and there are some features that related for each other (Like tags and filter, then filter and filter popup). That's why I think controlling the versioning manually could be better for the current development phase.
For that I have two suggestions:
- We Add CFF release date synchronization without the auto-incrementing feature for version if that's possible.
- We can implement both feature but we make their workflow starts manually if find this approach better to implement.
I'll be glade to hear your opinion about that
from tui-journal.
Thank you for your feedback! I noticed that my explanations about the version incrementing were too brief, so I would like to add some more detailed information on this, in the following. Apart from the version incrementing, I will prepare a suggestion for the CFF release date update which is independent from the version incrementing.
Rust uses the Semantic Versioning (SemVer) model according to which a version triple a.b.c
represents the evolution of the software with a
being the major version, b
being the minor version, and c
being the patch version. If a new release introduces fixes to bugs, it is a patch release which will only increment the c
part. If a new release adds a new functionality to the project without changing the public calling interface except for the optional addition of new symbols, it is a minor release which will increment the b
part and reset the c
part to zero. If a new release changes the public calling interface by, e.g., adding a new parameter to a public function, removing a public struct, or turning a public enum into a private one, it is a major release which will increment the a
part and reset both the b
and c
parts to zero.
Software projects usually contain their versions at least once somewhere in the code base. In case of multiple places, it can be forgotten rather easily to adjust all places appropriately such that different files would expose different version information. A solution to this problem is a version incrementing system like bump2version which allows for the specification of custom versioning rules such that on release, all version strings will be updated automatically -- there will be no forgetting, anymore. But bump2version is about to become discontinued, so I made a SemVer incrementing feature part of Aeruginous v2.2.0.
You can plug-in the version incrementing system anywhere into the release steps, including manual updates as well as GitHub Action workflows. I would like to suggest the latter option such that, on release, you assemble your CHANGELOG as usual but when calling the workflow from the Actions tab, you would also need to specify whether you are about to create a major, a minor, or a patch release by selecting this from a drop down in the branch selection blob. Then, any version incrementing software will update each file which contains a version string, Aeruginous updates the CFF release date, and Aeruginous will assemble your RONLOG with the correct version. All steps, united to one -- without any further manual edits required! We can also add a workflow to push a tag to main
such that the release creation will be triggered.
from tui-journal.
Thanks for the detail explanations!
I think it would be very useful to include the version incrementing feature within the workflow that assembles the CHANGELOG, since this workflow will be called before each release.
Doing that would make creating a new release just a breeze with triggering the workflow with the wanted arguments, then creating a new tag which will launch the release workflow 💯
If you think that including the CFF release date in the same workflow would be better then you can include it there too 👍
from tui-journal.
Related Issues (20)
- Reordering entries HOT 2
- Toggle full-screen mode HOT 2
- TUI is not being redrawn HOT 2
- Expand main footer if the text doesn't fit on the screen
- Changelog-Assembly doesn't work anymore HOT 10
- Add default priority to app settings
- Update Docs HOT 1
- Saving the app state
- New cli command to assign priority to journals
- Skip Rendering the UI on key release event
- Add Go to Top/Bottom & Page Up/Down Commands
- MSRV HOT 5
- the shortcut in windows terminal still not got triggered susscessfully. HOT 1
- arm64 support HOT 2
- Optional word wrapping HOT 1
- Cargo Install v0.8.2 is not working on Ubuntu 22.04 HOT 1
- Default journal format HOT 3
- Bug: Keymap for multi-select mode isn't visible in help anymore HOT 1
- Switch to vim motions HOT 1
- Add Option to Sync App and OS Clipboard
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tui-journal.