Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jakartaee-spec-project-leads] Milestone releases was: Milestone release - primarily for JSP
  • From: Mark Thomas <markt@xxxxxxxxxx>
  • Date: Thu, 9 Jan 2020 08:21:31 +0000
  • Autocrypt: addr=markt@xxxxxxxxxx; prefer-encrypt=mutual; keydata= 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
  • Delivered-to: jakartaee-spec-project-leads@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/jakartaee-spec-project-leads>
  • List-help: <mailto:jakartaee-spec-project-leads-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/jakartaee-spec-project-leads>, <mailto:jakartaee-spec-project-leads-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/jakartaee-spec-project-leads>, <mailto:jakartaee-spec-project-leads-request@eclipse.org?subject=unsubscribe>
  • User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

On 09/01/2020 02:58, Bill Shannon wrote:

Thanks Bill, this is really helpful.

Moving servlet-dev to BCC and adding spec-project-leads

> This is not the way we intend milestone release numbering to work.
> This introduces another level in the release numbering.  What we want
> is qualifiers on the existing release numbers.

Agreed.

> So, just like "5.0.0-SNAPSHOT" is a qualifier on the 5.0.0 release
> saying that this is just a "day in the life" version of the 5.0.0
> work, "5.0.0-M1" would be the first milestone build on the way to
> the 5.0.0 release.  "5.0.0-RC1" would be the first release candidate
> on the way to 5.0.0.

Also agreed. I have used .M1 rather than -M1 elsewhere but I agree -M1
is better. I'll switch to that format moving forwards.

> A release number such as "5.0.0.M1-SNAPSHOT" looks like a "day in
> the life" release of what will be the final 5.0.0.M1 release, which
> would be a stable release coming after the final 5.0.0 release.  This
> takes us down the slippery slope that I warned about previously with
> using milestone releases as a way around the process overhead of doing
> a full Jakarta EE release.  We don't want milestone releases to look
> like final releases.

Agreed.

> Maybe this is the key difference between using "-" and "." as a
> separator - dash introduces a release qualifier, whereas dot adds
> another level to the release numbering hierarchy.

Makes sense.

> I understand that some of this is open to interpretation, and different
> communities might have different conventions for how this should be done,
> but for Jakarta EE and EE4J I would strongly recommend that we stick with
> three level release numbers with qualifiers to indicate non-final releases.

Agreed.

> So, to update your plan, you would change the version number to 5.0.0-SNAPSHOT.
> When the milestone release is ready, you would change the version to 5.0.0-m1
> in the release job, do the release, and then the release job would change it
> back to 5.0.0-SNAPSHOT.  If a second milestone is needed, you would change the
> version to 5.0.0-m2 in the release job, do the release, then change back to
> 5.0.0-SNAPSHOT.

ACK.

> Since non of these are final releases, the release script can't really pick the
> version number of the next release.  It can only recognize that you're doing a
> non-final non-SNAPSHOT release and switch the version number back to the
> appropriate SNAPSHOT version number after doing the release.

I think I was trying to get the release script to do too much and handle
the auto-increment from -M1 to -M2. Just setting the qualifier manually
is much simpler. I'll use that approach and tweak the release job
accordingly.

This means I shouldn't need to commit anything to the repo to get this done.

> You'll definitely want to create a tag for the 5.0.0-m1 release.  A branch might
> be needed as part of the release process, but it would be merged back into
> master and destroyed once the release is committed.

Agreed.

> BTW, I don't have a strong opinion as to whether we should use upper case or
> lower case for these qualifiers.  By analogy with -SNAPSHOT, upper case might
> be appropriate, although I've seen lots of use of lower case and that's what
> I've been using myself.  But it would probably be nice if we all agreed.
> 
> (This discussion probably needs to be moved to the project leads list or wider.)

Again, I've seen both.

On the basis it is consistent with -SNAPSHOT and it is what the Eclipse
IDE uses, I think we should use upper case.

Overall, I think we are in near complete agreement.

I do think it is worth clarifying exactly what we want the release job
to do (thinking just in terms of outputs, not how we get there). At the
moment, given a current version number of 1.0.0-SNAPHOT in master the
release job:
- creates a 1.0.0 release in the staging repo
- creates a 1.0.0 tag
- creates a 1.0.0 branch
- increments the version to 1.0.1-SNAPSHOT in the 1.0.0 branch

I don't understand the last item. I'd expect it to increment the version
number in the branch the release was made from. Have I missed something
or should I look into trying to change this?

Also, I think keeping the branch is unnecessary. Can we remove the
branch as part of the release job (or not create it in the first place)?

Further, I'd like to propose the following additional behaviour if a
QUALIFIER is configured for the release job. My proposal is given a
current version number of 1.0.0-SNAPHOT in master and a QUALIFIER set to
M1 the release job:
- creates a 1.0.0-M1 release in the staging repo
- creates a 1.0.0-M1 tag
- leaves the version number in master unchanged

Mark


Back to the top