Release cycle #241
Replies: 18 comments 3 replies
-
That sounds great. 👍 It would be good to decide on a general process/cadence for releasing openhab-js and updating the plugin. Also i did not put a lot of thought into our versioning scheme for openhab-js, other then it had to start higher then the original project that donated that NPM project/name to us (npm.org rules) . |
Beta Was this translation helpful? Give feedback.
-
For the general process, I would propose that we release a new version a few days before each openHAB Milestone release and get this new version into that milestone. As far as I remember, new milestones are typically released on the first days of a new month. So we should release about 5 days before the end of month to get our PR merged into the milestone. I will have a look at the publish workflow and try to modify it to also release beta versions (with Regarding the versioning scheme:
Given that, the last release should have been I would tag stable versions with |
Beta Was this translation helpful? Give feedback.
-
@digitaldan |
Beta Was this translation helpful? Give feedback.
-
I wondering if we want to release more often than this, at least for non-milestones? So if people want to try out new features by using The version scheme sounds fine to me as well. |
Beta Was this translation helpful? Give feedback.
-
We could setup a daily/weekly CI job to publish a Then our release schedule would look like (with example version number):
|
Beta Was this translation helpful? Give feedback.
-
if would be awesome if we could just keep incrementing our build using standard semantic versioning on every push when things change using something like https://itnext.io/how-to-automate-versioning-and-publication-of-an-npm-package-233e8757a526 , and only have to do manual tags for inclusion into openHAB (aka milestone releases), or only have to manually bump the version when there is a breaking change. I'm thinking how we keep our versioning permutations as simple as possible since this library is pretty light weight and changes seem less risky compared to openHAB core or addon development. WDYT? |
Beta Was this translation helpful? Give feedback.
-
I have read the article a few days ago, and I am wondering if we should publish a new version on every push to main or only when the commit message includes a special keyword, what would allow us to have the version number automatically bumped when there is a breaking change. The second approach with keywords would also allow us to make changes that are not related to the package (like CI workflows) and not publish a new version then.
Yes, I would do manual tags for openHAB inclusion to clearly indicate which version of the package goes into the add-on, but we could also just use the current version of the library.
I totally agree with the point that changes seem less risky compared to core or addons, I can‘t remember any change of the library breaking something or introducing a bug that was not in a new added feature. So it would be awesome to automatically publish on pushes to main, the only question for me is if we want to use keywords like described in the article or not. WDYT? |
Beta Was this translation helpful? Give feedback.
-
https://github.com/marketplace/actions/automated-version-bump Seems to do what we want. This workflow would require commit messages to include sth like |
Beta Was this translation helpful? Give feedback.
-
@digitaldan This workflow does: I adjusted the action I mentioned in my previous post to meet my requirements, see https://github.com/florian-h05/gh-action-advanced-bump-version. I will test that workflow for a few days on my personal repo and if everything works fine, I can come up with a PR. WDYT? |
Beta Was this translation helpful? Give feedback.
-
@digitaldan |
Beta Was this translation helpful? Give feedback.
-
Sounds good, trying to remember our conversation. Did we say by default this would do minor version increments, then we would manually do major version bumps? Did we also say we would tag versions that were intended to be including in JSScripting builds? |
Beta Was this translation helpful? Give feedback.
-
This workflow would by default do patch version increments and do minor or major based on configurable keywords.
Yes, but I need to try that out first. |
Beta Was this translation helpful? Give feedback.
-
This sounds good to me! I think it's fine to manually tag a version for now when we want to include it in a addon release. |
Beta Was this translation helpful? Give feedback.
-
I will open a PR to create both Workflows, one for automated publishing and one for tagging the add-on versions. |
Beta Was this translation helpful? Give feedback.
-
@digitaldan I would rather create a workflow that is triggered manually from the actions site (using the The next thing we have to look out with, is the CHANGELOG. This requires manual updating. |
Beta Was this translation helpful? Give feedback.
-
I'm fine with that, we can give it a try and see how it works. |
Beta Was this translation helpful? Give feedback.
-
I checked today, there is no easy way of publishing something like SNAPSHOTS to npm that is worth the work when it is also possible to install directly from GitHub. I added a note to the README that describes how to install the latest „development version“ from GitHub. Regarding the releases, I tried some tools for auto-releasing and automated CHANGELOG generation, but to have this properly work, we would have to follow a specific commit message scheme. I want the CHANGELOG, therefore I will stay on manual releases. To be honest, as that’s nothing to happen to often, it would cost more time to find an auto-release system I‘m happy with than jost publishing that release manually. |
Beta Was this translation helpful? Give feedback.
-
Hey @florian-h05 i have github notifications on my phone from this thread like there is new activity, but i don't see any here. Just checking if you were bumping this topic or replying and i am just not seeing it ? |
Beta Was this translation helpful? Give feedback.
-
Hello @openhab/javascript-maintainers,
I would propose to release (at least) a new version of the openhab-js library about one week before any openHAB stable release as we also need some time to get the according PR for the JS Scripting add-on merged.
Additionally, any merged PR should be set the according milestone (currently https://github.com/openhab/openhab-js/milestone/1) to track bugfixes & enhancements (as described in https://github.com/orgs/openhab/teams/maintainers/discussions/1).
For the next openhab-js release, I would plan the 24th of June which is one week before the time limit of the 3.3.0 Milestone of openhab-core.
Please comment or leave a 👍 or 👎 .
Best greetings,
Florian
Beta Was this translation helpful? Give feedback.
All reactions