Skip to content
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

Release plan #31

Closed
Andersson007 opened this issue Sep 23, 2020 · 64 comments
Closed

Release plan #31

Andersson007 opened this issue Sep 23, 2020 · 64 comments
Labels

Comments

@Andersson007
Copy link
Collaborator

Andersson007 commented Sep 23, 2020

SUMMARY

(partially copied from ansible-collections/community.crypto#74 , thanks to @felixfontein)

We should decide eventually on how to release this collection (w.r.t. versioning).
Small collections like this one don't need a complex plan like the one for community.general and community.network.
So how about the following?

  1. Release minor and patch releases whenever we want (like after adding new features or fixing bugs). Since this collection is small, there's no need to fix things in advance. Just add features, and after a feature either wait a bit longer for more features/bugs, or make a release.

I suggest releasing without branching https://github.com/ansible/community-docs/blob/main/releasing_collections_without_release_branches.rst

Once we release a 2.0.0 (with some breaking change relative to 1.x.y), we can have a stable-1 branch so we can backport bugfixes (or even features) if needed, and release more 1.x.y versions. We currently have some deprecation removals scheduled for 2.0.0 (see #1). Maybe scheduling 2.0.0 roughly for Ansible 2.12 (i.e. next summer) would be a good idea.
(the part ^ taken from the description of ansible-collections/community.docker#4)

@bmalynovytch @bmildren @felixfontein @Jorge-Rodriguez

UPDATE: we agreed on maintaining older (stable*) versions for 2 years (backporting bugfixes, releasing, testing) since the next major version is released. Then we do final releases announcing under major_changes that those versions are EoL.

@Andersson007
Copy link
Collaborator Author

Questions:

  1. Releasing without branches as described in the description is ok for everyone?
  2. I suggest releasing version 1.0.1 on 2020-09-30 (next week Wednesday). As far as I can see, there were only fixes merged since the last release. Any thoughts?

@Andersson007 Andersson007 pinned this issue Sep 23, 2020
@felixfontein
Copy link
Collaborator

This approach is reasonable and a good idea IMO :) For community.crypto, we eventually will have a 2.0.0 version with breaking changes (when removing something we deprecated), and then we'll add a stable-1 branch so we can still backport bugfixes (or even features, if we really want to) to release new 1.x.y versions.

I guess as long as there is no need to make a breaking change, sticking to main branch and versions 1.x.y is a good choice. And your users will also love that, since no breaking change means full backwards compatibility :)

@Andersson007
Copy link
Collaborator Author

community.mysql 1.0.1 has just been released https://github.com/ansible-collections/community.mysql/tags

@Andersson007
Copy link
Collaborator Author

if nobody's against, i would release 1.0.2 on 01.10.2020 (tomorrow) because of #40

@Andersson007
Copy link
Collaborator Author

I've just released 1.0.2

@rndmh3ro
Copy link
Contributor

Release minor and patch releases whenever we want (like after adding new features or fixing bugs). Since this collection is small, there's no need to fix things in advance.

Agreed!

Just add features, and after a feature either wait a bit longer for more features/bugs, or make a release.

Waiting for more features/bugs seems to have no benefit, so I'd say release whenever a new feature is merged or a bug is fixed.

@Andersson007
Copy link
Collaborator Author

@rndmh3ro welcome!:)

@Andersson007
Copy link
Collaborator Author

I've just release 1.1.0

@Andersson007
Copy link
Collaborator Author

I'd like to release 1.1.1 today's evening
@Jorge-Rodriguez do you have anything to include that you almost finish but that's not yet published? We could postpone this for a couple of days.

@Andersson007
Copy link
Collaborator Author

Andersson007 commented Nov 3, 2020

I've just released 1.1.1

@Andersson007
Copy link
Collaborator Author

I've just released 1.1.2

@Andersson007
Copy link
Collaborator Author

community.mysql collection 1.2.0 has just been released.
The tarbal is available on Galaxy.
How to install it, see the official guide.
The changes will also be included in the next Ansible release.

@Andersson007
Copy link
Collaborator Author

I'm going to release community.mysql 1.3.0 after #62 is merged

@Andersson007
Copy link
Collaborator Author

Andersson007 commented Mar 1, 2021

@Jorge-Rodriguez @bmalynovytch @bmildren I've just add the following to the description:

Once we release a 2.0.0 (with some breaking change relative to 1.x.y), we can have a stable-1 branch so we can backport bugfixes (or even features) if needed, and release more 1.x.y versions. We currently have some deprecation removals scheduled for 2.0.0 (see #1). Maybe scheduling 2.0.0 roughly for Ansible 2.12 (i.e. next summer) would be a good idea.
(the part ^ taken from the description of ansible-collections/community.docker#4)

We could align the major releases with Ansble major releases as @felixfontein suggested in #97 (comment).

I suggest releasing version 2.0.0 containing at least #97 in a month before Ansible 5.0.0 - a bit more than in 6 months.

========================================================
The following major changes will be (we will update this list when needed):
2.0.0

- mysql_replication - the word ``SLAVE`` in messages returned by the module will be changed to ``REPLICA`` in ``community.mysql`` 2.0.0 (https://github.com/ansible-collections/community.mysql/issues/98).

3.0.0

- mysql_replication - the mode options values ``getslave``, ``startslave``, ``stopslave``, ``resetslave``, ``resetslaveall` and the master_use_gtid option ``slave_pos`` are deprecated (see the alternative values) and will be removed in ``community.mysql`` 3.0.0 (https://github.com/ansible-collections/community.mysql/pull/97).

@Jorge-Rodriguez
Copy link
Contributor

@bmalynovytch @bmildren I'd like to move the discussion on #101 forward before we release v2

@Andersson007
Copy link
Collaborator Author

Andersson007 commented Mar 8, 2021

Tomorrow there will be Ansible 3.1.0 release, so I'll release this collection now to get things included

@Andersson007
Copy link
Collaborator Author

community.mysql 1.3.0 has been released

@Andersson007
Copy link
Collaborator Author

  1. according to the 2.11 roadmap, the expected release date of 2.11 is 2021-04-26,
    I suggest releasing community.mysql 2.0.0 ~in mid-April
  2. according to the 2.12 roadmap, the expected release date of 2.12 is 2021-10-25
    I suggest releasing community.mysql 3.0.0 ~in mid-October

The dates can be adjusted later. СС @Jorge-Rodriguez @bmalynovytch

@Jorge-Rodriguez
Copy link
Contributor

LGTM, I'll have to hurry with the REQUIRESSL thing, so that's next on my table

@Andersson007
Copy link
Collaborator Author

FYI: As planned, I'm releasing community.mysql 2.0.0 tomorrow morning (2021-04-15)

@Andersson007
Copy link
Collaborator Author

community.mysql 2.0.0 has been released

New branch stable-2 has been created as well

@Jorge-Rodriguez @bmalynovytch it means that we have to backport to stable-2 (by cherry-picking from main) all changes we'll merge to main since now (except breaking changes!).
I created a label needs_backport_to_stable-2 - please put it on all PRs you'll merge since now, then create backports. Thanks!
Don't put this label on PRs with breaking changes! :)

Thanks!

@Andersson007
Copy link
Collaborator Author

So we're planning the next (3.0.0) major release ~in mid-October

@Andersson007
Copy link
Collaborator Author

fyi: stable-1 has been created as well. I've just released community.mysql 1.4.0. We'll backport only bug / security fixes to stable-1

@Andersson007
Copy link
Collaborator Author

I'm going to release community.mysql 1.4.1 and 2.1.0 later today

@Andersson007
Copy link
Collaborator Author

community.mysql 1.4.1 and 2.1.0 have been released

@Andersson007
Copy link
Collaborator Author

I'm gonna release community.mysql 2.1.1 and 1.4.2 tomorrow morning.

@Andersson007
Copy link
Collaborator Author

also there will be a dev version of 2.2.0 released tomorrow later or on Thursday

@Andersson007
Copy link
Collaborator Author

community.mysql 1.4.2 and 2.1.1 have been released

@Andersson007
Copy link
Collaborator Author

community.mysql 2.2.0-a1 has been released and available to install via galaxy or directly from https://galaxy.ansible.com/community/mysql. It contains the mysql_role new module. Any feedback would be much appreciated.

@rsicart
Copy link
Contributor

rsicart commented Dec 1, 2021

I think I have to read docs about this collection releasing process and branches 😄

So if I understand correctly, no breaking change PRs merged into main until next major release.

Branches like stable-X are long running branches for major version X?

@Andersson007
Copy link
Collaborator Author

I think I have to read docs about this collection releasing process and branches smile

So if I understand correctly, no breaking change PRs merged into main until next major release.

Branches like stable-X are long running branches for major version X?

Correct:)

@Andersson007
Copy link
Collaborator Author

I'm releasing community.mysql 3.1.0, 2.3.3, and 1.4.4 this week

@Andersson007
Copy link
Collaborator Author

community.mysql 3.1.0, 2.3.3, and 1.4.4 have been released. It turned out to be a bit faster than I had expected:)

@Andersson007
Copy link
Collaborator Author

Andersson007 commented Feb 7, 2022

if someone else from current maintainers wants to release 3.1.1 and 2.3.4 (in other words learn how to release / become a release engineer here), I would be happy to lead you through the process. Please let me know:)

p.s. we can wait for the day / time suitable for you

@Andersson007
Copy link
Collaborator Author

I'm gonna release 3.1.1 and 2.3.4 today

@Andersson007
Copy link
Collaborator Author

community.mysql 2.3.4 and 3.1.1 have been released.

@Andersson007
Copy link
Collaborator Author

I'm gonna release 2.3.5 and 3.1.2 which will contain critical bugfix for the mysql_role module

@Andersson007
Copy link
Collaborator Author

community.mysql versions 2.3.5 and 3.1.2 have been released.

@rsicart
Copy link
Contributor

rsicart commented Apr 26, 2022

I'm going to release 3.1.3 which will contain some doc improvements and 3 bugfixes:

@rsicart
Copy link
Contributor

rsicart commented Apr 26, 2022

community.mysql 3.1.3 has been released.

@Andersson007
Copy link
Collaborator Author

i'm gonna release community.mysql 3.2.0, 2.3.6 and 1.4.5 today

@Andersson007
Copy link
Collaborator Author

The community.mysql collection 1.4.5, 2.3.6 and 3.2.0 versions have been released!

@Andersson007
Copy link
Collaborator Author

I'm gonna release versions 1.4.7, 2.3.8 and 3.3.0 today

@Andersson007
Copy link
Collaborator Author

The community.mysql collection versions 1.4.7, 2.3.8 and 3.3.0 have been released!

Great job @betanummeric @rsicart @hubiongithub @moledzki @bmalynovytch, thank you!

@laurent-indermuehle
Copy link
Collaborator

laurent-indermuehle commented Aug 31, 2022

One month has already passed since the last release. No fragments exist and the last PRs were about the CI. So I will skip this month's release.

@Andersson007
Copy link
Collaborator Author

One month has already passed since the last release. No fragments exist and the last PRs were about the IC. So I will skip this month's release.

@laurent-indermuehle yep, thanks for taking care of this!

@Andersson007
Copy link
Collaborator Author

I'm going to release 3.5.0 today.

@Andersson007
Copy link
Collaborator Author

Copied from Bullhorn update: The community.mysql collection version 3.5.0 has been released! Special thanks to rsicart, betanummeric, laurent-indermuehle and aneustroev!

@rsicart
Copy link
Contributor

rsicart commented Sep 9, 2022

I'm going to release 3.5.1 today.

@rsicart
Copy link
Contributor

rsicart commented Sep 9, 2022

The community.mysql collection version 3.5.1 has been released! Special thanks to andersson007, laurent-indermuehle and betanummeric!

@laurent-indermuehle
Copy link
Collaborator

laurent-indermuehle commented May 4, 2023

I'm going to release 1.5.1, 2.4.1 and 3.7.0 today.

@Andersson007
Copy link
Collaborator Author

I'm going to release 3.7.1 today.

@Andersson007
Copy link
Collaborator Author

the community.mysql collection version 3.7.1 has been released!

@Andersson007
Copy link
Collaborator Author

Andersson007 commented May 25, 2023

I'm going to release 3.7.2 today.
UPDATE: Done

@laurent-indermuehle
Copy link
Collaborator

laurent-indermuehle commented Oct 25, 2023

I'm going to release 3.8.0 today.
UPDATE: Done

@Andersson007
Copy link
Collaborator Author

Moving to forum, closing this one. Please join the #589 and let's continue on the forum, thanks everyone!
Next time when releasing, please open a permanent forum topic called something like The community.mysql collection release plan & announcements tagged with mysql under Project Discussions as a replacement for this issue.

@Andersson007 Andersson007 unpinned this issue Nov 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants