-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Follow Hilla minor versioning #285
Comments
The patch version is then used for our versioning or should it also follow the hilla version and we add a fourth version number, e.g. 2.3.1.1 ? |
Patch version will be specific for quarkus-hilla, since Hilla patches should not have features or breaking changes. |
I am not sure if this always applies to us, since we apply some bytecode hacks on code which could be seen as internal, thus changes can always happen. But I think we can go with the suggested versioning and if we encounter a version which has this problem, we add a .1 or something to only this one. |
Good point! In such situations, we should probably try to find a backward-compatible way to apply our changes, so that for example, quarkus-hilla 2.2.N could work both with Hilla 2.2.X and 2.2.Y, where Y introduced a change that for us is breaking. |
Sounds ok, but then we should track this somehow, because if a new minor version occurs, the compatibility code gets obsolete. |
Another idea would be, to go with a double digit number as patch version, like kotlin. So that we always have the same as hilla and use our patch version als the last number, so 2.1.10, 2.1.20, ... is default and a patch is applied as 2.1.21, 2.1.22, ..., it looks better than 2.1.2.2 |
I don't like the double-digit idea that match, is seems a bit confusing to me.
Maybe annotating code with the latest incompatible version (e.g. |
Understandable.
Yea that sounds good, lets go with that. Maybe we can also use the quarkus build pipeline somehow, that it picks the code for the desired version. So that e.g. one function is for 2.1.2 and another for 2.1.3, annotated somehow. And the build / deploy stage then picks the desired function. We should examine which is the safest and easiest solution. |
Excellent idea! |
So, let's proceed with the plan in the ticket description, and move the discussion about incompatible changes in patch release to #294 |
Since latest quarkus-hilla version 2.0.1 already targets Hilla 2.1.x, I propose to release version 2.1.0 (branch 2.1) and 2.2.0 (branch 2.2). |
To be able to add tests introduced by Hilla minor versions, we should consider pinning the quarkus-hilla versioning to the Hilla minor versions.
This means that the current quarkus-hilla main should use Hilla 2.3-SNAPSHOT, and we should create 2.2 and 2.1 branches pinned to the relative Hilla latest version.
At every Hilla minor release, we should create a branch for the newly released version and bump main to the next Hilla snapshot.
The tasks to perform at every minor release (e.g
A.B.0
) should likely beA.B
branch from main and pin Hilla version toA.B.0
A.B
the selectable branch listA.B
target branch with the following ignore rulesA.B
branchA.B
branch on push triggerA.<NEXT>-SNAPSHOT
A.B.0
from branchA.B
target/A.B
label for cherry-picks. It could be done on demand.Tasks:
After Hilla 2.3 stable release
Additional tasks to be performed only once:
The text was updated successfully, but these errors were encountered: