[Hawkular-dev] Release Process - Hawkular Metrics + Components

Peter Palaga ppalaga at redhat.com
Mon Jun 15 11:32:49 EDT 2015


Hi Stefan, inline again...

On 15/06/15 16:23, Stefan Negrea wrote:
>
>
> ----- Original Message -----
>> From: "Peter Palaga" <ppalaga at redhat.com>
>> To: "Discussions around Hawkular development" <hawkular-dev at lists.jboss.org>
>> Sent: Monday, June 15, 2015 9:00:36 AM
>> Subject: Re: [Hawkular-dev] Release Process - Hawkular Metrics + Components
>>
>> Hi Stefan, inline...
>>
>> On 15/06/15 14:56, Stefan Negrea wrote:
>>>
>>>
>>> ----- Original Message -----
>>>> From: "Peter Palaga" <ppalaga at redhat.com>
>>>> To: "Discussions around Hawkular development"
>>>> <hawkular-dev at lists.jboss.org>
>>>> Sent: Monday, June 15, 2015 3:19:24 AM
>>>> Subject: Re: [Hawkular-dev] Release Process - Hawkular Metrics +
>>>> Components
>>>>
>>>> Hi Stefan, thanks for informing us how you will be doing things. It
>>>> would be nice to hear more about your motivations for these particular
>>>> decisions - see my "why"s inline.
>>>>
>>>> On 15/06/15 08:46, Gary Brown wrote:
>>>>> Hi Stefan
>>>>>
>>>>> ----- Original Message -----
>>>>>> Hello Everybody,
>>>>>>
>>>>>> Had some great conversations and feedback this week about the release
>>>>>> process
>>>>>> for Hawkular Metrics. A few ideas emerged and this email is a summary of
>>>>>> the
>>>>>> process Hawkular Metrics will implement starting next release (expected
>>>>>> as
>>>>>> soon as next week).
>>>>>>
>>>>>> Release Process:
>>>>>> 1) Use semver as the versioning standard (http://semver.org/)
>>>>>
>>>>> The jboss/redhat convention also requires a qualifier, CR, Alpha, Final
>>>>> etc.
>>>>
>>>> +1 for https://developer.jboss.org/wiki/JBossProjectVersioning and if
>>>> not JBoss Versioning then why not?
>>>
>>> Semver does not preclude JBoss versioning. When time comes Hawkular Metrics
>>> will adopt it but it's a bit too early now ....
>>>
>>>>
>>>>>> 2) A scheduled release:
>>>>>>      a) is a planned release, with a set of significant changes
>>>>>>      b) is the next increment on MAJOR.MINOR version (eg: from 0.4.0 to
>>>>>>      0.5.0)
>>>>>>      c) gets a dedicated branch from master
>>>>
>>>> Why? Esp. why don't you keep things in master as long as possible and
>>>> create those 0.4.x maintenance branches only when they are really needed?
>>>> Actually, what is the role of master branch in your plan?
>>>
>>> The model with a branch is cleaner if the plan has the expectation of patch
>>> releases. Plus, it is very easy to know where to branch when a release is
>>> cut rather than 3 months later.
>>
>> Once again: could you please sum up in a single sentence what should
>> happen in master?
>>
>> FWIW, I have understood already that tagging anything is not a kind of
>> thing allowed in master.
>>
>> To the very opposite, I am convinced that tags are very useful in master
>> - they mark very important milestones in the history and they naturaly
>> mark points where the histories of maintenance branches diverge from
>> master, if they exist or where to fork from master when there is a need
>> to create a maintenance branch.
>>
>> I looked at RHQ and I must say I do not like it.
>>
>>>>>>      d) gets tagged on the branch
>>>>
>>>> Why not on master (if possible in the given situation)?
>>>
>>> Not possible. The commit with the version will only live in release branch.
>>>
>>>>
>>>>>>      e) gets full release notes, JIRA, email communication, blog
>>>>>>      f) bits are published to JBoss Nexus and Github
>>>>>
>>>>> Don't think we should create a branch for the sake of it - if required
>>>>> (i.e. for a patch) then can be created from the tag.
>>>>
>>>>>> 3) A patch release
>>>>>>      a) needed to address urgent bugs or regression between scheduled
>>>>>>      releases
>>>>>>      b) is an increment in the PATCH version (eg. 0.4.2)
>>>>>>      c) no dedicated branch, patches are applied to the branch of a
>>>>>>      'scheduled
>>>>>>      release'
>>>>>>      d) gets tagged on the working branch
>>>>>>      e) no release notes, blog posts, or similar communication; the only
>>>>>>      official communication will be a list of JIRAs fixed
>>>>>>      f) bits published to JBoss Nexus and Github
>>>>>>      g) all the code fixes will be applied retroactively to master
>>>>>
>>>>> Not sure we are meant to release artifacts for patches? I thought patches
>>>>> are only for product. Community would need to build from source if they
>>>>> required these releases.
>>>>>
>>>>> Regards
>>>>> Gary
>>>>>
>>>>>>
>>>>>>
>>>>>> Hawkular Metrics will keep 'scheduled releases' at roughly one a month.
>>>>
>>>> Why one a month?
>>>> Is there a way for me to find out at any point in time when will the
>>>> next Metrics release happen? E.g. ATM it would be very helpful to know
>>>> when is 0.3.5 coming? Note that rather than waiting days for the
>>>> polished 0.3.5, we'd be happier with a not-so-polished 0.3.5.Alpha1
>>>> coming today to be able to work on its integration into Hawkular.
>>>
>>>
>>> There will be no other releases besides scheduled and patch
>>> releases.And this process will start with the next release (0.4.0) which
>>> will
>>> most likely happen this week. The one month timeline is what works
>>> currently for Hawkular Metrics.
>>   >
>>> If you want up to date changes for Hawkular Metrics please use timed
>>> snapshots. Here is the list for 0.3.5:
>>
>> Am I understanding you right that you do not plan to release 0.3.5?
>>
>> In this branch https://github.com/hawkular/hawkular/tree/metrics-next,
>> we wait for 0.3.5 that would include the fix of the CORS bug provided to
>> Metrics by Viliam. I hope that fulfills your definition of patch release
>> (well, except that your definition is valid since next week of course)?
>>
>> We hereby kindy ask for 0.3.5 as soon as possible, because our branch is
>> aging and we need to bring it to master as soon as possible. Please note
>> that we cannot use a snapshot (timestamped or not) in hk master.
>
> You are correct, 0.3.5 will never be released. The next version
> according to this new release plan is 0.4.0.

OK, so, now combining what you say with looking into metrics master, I 
understood that what we consume as 0.3.5-SNAPSHOT in our metrics-next 
branch will be released as 0.4.0. Sorry, I thought, that you did API 
breaking changes leaving us without 0.3.5 as you already wanted to do 
once with 0.3.2.

Getting 0.3.5-SNAPSHOT as 0.4.0 this week is basically a good news, but 
next time, could you please set the proper expectations through changing 
the version in your master to suit what comes next as soon as you make 
the decision about the next release?

> And it should come
> sometimes this week, if we wrap this version in a good way.
>
> But this is versioning minutia. If you need to test with fixed code,
> that is available today and it was available since the fix was added on
> the master branch. Until the release is available please use the link
> below and pick a timed snapshot.

We already do what you say in the integration branch metrics-next, but 
merging the branch to master would break the "master releasable anytime" 
rule.

The bottom line is that having to keep the integration branches for as 
long as a month does not sound feasible. Getting a Metrics release more 
often would be better for us.

Thanks,

Peter

>>
>> Thanks,
>>
>> Peter
>>
>>> http://origin-repository.jboss.org/nexus/content/repositories/public/org/hawkular/metrics/hawkular-metrics-api-jaxrs/0.3.5-SNAPSHOT/
>>>
>>>
>>> Thank you,
>>> Stefan
>>>
>>>>
>>>> Thanks,
>>>>
>>>> -- P
>>>>
>>>>>> The
>>>>>> 'patch releases' will be created on a need basis and only if there are
>>>>>> JIRAs
>>>>>> reported against the 'scheduled release' or 'patch release' that need to
>>>>>> be
>>>>>> addressed before the next 'scheduled release'. One goal with the patch
>>>>>> releases is to avoid publish a huge number of them in a short amount of
>>>>>> time
>>>>>> (eg. 2 per day). This does not impact at all the release for SNAPSHOTS;
>>>>>> they
>>>>>> will continue to get published from the code in the master branch.
>>>>>>
>>>>>>
>>>>>> It would be great if all the projects converge on a similar process. I
>>>>>> recognize that due to different maturity levels that might not be
>>>>>> practical
>>>>>> now for everybody, but it would be huge win for the entire Hawkular to
>>>>>> make
>>>>>> even small steps in the same direction.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thank you,
>>>>>> Stefan Negrea
>>>>>>
>>>>>> Software Engineer
>>>>>>
>>>>>> _______________________________________________
>>>>>> hawkular-dev mailing list
>>>>>> hawkular-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>>>>>
>>>>> _______________________________________________
>>>>> hawkular-dev mailing list
>>>>> hawkular-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>>>>
>>>>
>>>> _______________________________________________
>>>> hawkular-dev mailing list
>>>> hawkular-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>>>
>>> _______________________________________________
>>> hawkular-dev mailing list
>>> hawkular-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>>
>>
>> _______________________________________________
>> hawkular-dev mailing list
>> hawkular-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>



More information about the hawkular-dev mailing list