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

Plone 5.2.2 release checklist #3119

Closed
28 tasks done
mauritsvanrees opened this issue Jun 15, 2020 · 27 comments
Closed
28 tasks done

Plone 5.2.2 release checklist #3119

mauritsvanrees opened this issue Jun 15, 2020 · 27 comments

Comments

@mauritsvanrees
Copy link
Member

mauritsvanrees commented Jun 15, 2020

As one of the release managers, I want to make releases for Plone 4.3, 5.1, and 5.2 in June 2020. See also the release schedule. First up is Plone 5.2.2.

As an experiment, I want to have the status available with a checklist in an issue on GitHub, so people can follow along. From here we can link to issues that are blockers. Ultimately, it is a decision from the release team to say if an issue is really a blocker or not. But feel free to tag an issue as blocker, and link it here in a comment.

Another idea is that I create a buildout.coredev branch release-5.2.2-pending (or similar) with an empty checkouts.cfg once the package releases are done and a pending release is available on dist.plone.org. If any further releases are needed, based on feedback, I can update this branch. Once the release is final, I will create a 5.2.2 tag.

So here is the checklist, based on https://docs.plone.org/develop/coredev/docs/release.html (see source):

  • Check Jenkins Status: should be green. (This should be checked often during the release process.)
  • In coredev, check packages for updates: bin/manage report --interactive
  • Release individual packages from checkouts.cfg.
  • Check that the version numbers of CMFPlone metadata.xml and latest upgrade step are in sync.
  • If unsure, ask if mockup and plone.staticresources are in sync and can be released.
  • If needed, ask the Plone REST api team for a new release of plone.restapi and plone.rest.
  • Write an email to the translation team, asking them to do a plone.app.locales release. Or create an issue in https://github.com/collective/plone.app.locales/issues
  • Update plone.app.locales version.
  • Create a pending release (directory) on dist.plone.org
    • Copy all core packages there. TODO: is there a handy command for this?
    • Possibly make an alpha/beta release of Products.CMFPlone and put it only on dist.plone.org, not PyPI.
    • Copy the versions.cfg file from coredev there.
  • Create a unified changelog: bin/manage changelog
  • Write a post on community.plone.org announcing a pending/soft release. See example
  • Wait for feedback, preferably at most a few days.
  • Make final release of Products.CMFPlone to PyPI
  • Make final release on dist.plone.org (remove "-pending", make sure updated distributions are added).
  • Update the "-latest" link on dist.plone.org
  • Create new release on launchpad (https://launchpad.net/plone/): bin/manage launchpad <version>
  • Create release page on https://plone.org/download/releases
  • Announce community.plone.org, with warning that installers are not ready yet.
  • Send links to installers list
  • Wait for installers to be uploaded to Launchpad, link on plone.org release page
  • Publish release page on plone.org
  • Update plone.org homepage links to point to new release. Or really: https://plone.org/download
  • Send out announcement to plone-announce
  • Update #plone irc channel topic
  • Ask the security team to update the https://plone.org/security/hotfixes/ page in the configuration control panel. (Configuration registry: plone.securitysupport, plone.versions, plone.activemaintenance)
@vincentfretin
Copy link
Member

vincentfretin commented Jun 19, 2020

I'm going to create a list of known i18n issues here #3123

@vincentfretin
Copy link
Member

vincentfretin commented Jun 22, 2020

I consider those issues as blockers

@mauritsvanrees
Copy link
Member Author

Here is a full list of issues marked as 'blocker' in the whole Plone organisation.
There are 18. The oldest is from 2015. I will definitely not treat all of them as blockers for 5.2.2. But it is a useful list.

And 82 are marked as regressions, the oldest being from myself in 2013.

@mauritsvanrees
Copy link
Member Author

All releases for a 5.2.2-pending have been made, most importantly CMFPlone 5.2.2rc1.

I have created a coredev branch release-5.2.2-pending with an empty checkouts.cfg. Please do not make any changes there, let me or someone else on the release team manage this branch. It should be a short-lived branch, replaced by a tag 5.2.2 eventually.

I have created https://dist.plone.org/release/5.2.2-pending/ with at the moment only the versions.cfg, requirements.txt and constraints.txt copied from this coredev branch. Note that constraints.txt is generated automatically when running bin/buildout. I will copy the package files here as well.

@mauritsvanrees
Copy link
Member Author

I have uploaded the packages to https://dist.plone.org/release/5.2.2-pending/

Note to self, to gather all packages, edit a buildout config file in coredev (I used checkouts.cfg) and add:

eggs-directory = eggs
download-cache = downloads

This counters the shared directories I have specified in ~/.buildout/default.cfg.

Then run bootstrap.sh. Afterwards run bootstrap-py3.sh to get extra packages for Python 3 only.

At the end, or in between, cd downloads/dist and sync this with the server: rsync -a . dist.plone.org:dist/ and afterwards move the contents of the remote dist directory to the proper pending directory.

Note that when I do this, I get a few Mac OSX specific wheels:

zope.interface-5.0.2-cp27-cp27m-macosx_10_9_x86_64.whl
zope.interface-5.0.2-cp37-cp37m-macosx_10_9_x86_64.whl

It would be nicer to only have the source distributions (tar.gz usually).

@vincentfretin
Copy link
Member

Thank you for your hard work making the releases!
I released plone.app.locales 5.1.23 just now, can you please include it?

@mauritsvanrees
Copy link
Member Author

Thank you for your hard work making the releases!
I released plone.app.locales 5.1.23 just now, can you please include it?

Thanks, I have included it.

@ale-rt
Copy link
Member

ale-rt commented Jun 29, 2020

I spotted a breaking change that is fixed by plone/plone.app.layout#240

@ale-rt
Copy link
Member

ale-rt commented Jun 30, 2020

I would also add #3135 as a blocker.

@vincentfretin
Copy link
Member

vincentfretin commented Jun 30, 2020

I made various i18n fixes in the following packages, it would be great to have those fixes in Plone 5.2.2.

@mauritsvanrees
Copy link
Member Author

mauritsvanrees commented Jun 30, 2020

Blockers:

Nice to have:

Further, we will want new releases of:

  • plone.app.layout
  • plone.app.upgrade
  • probably all the ones Vincent mentions in the previous comment

I can see the danger of including more and more changes and then never actually finishing the release...

@vincentfretin
Copy link
Member

vincentfretin commented Jul 1, 2020

Blockers:

A message was not internationalized for the new Custom CSS feature:

@vincentfretin
Copy link
Member

plone/plone.dexterity#126 is not a blocker anymore

For chameleon #3135 discussion is ongoing.

I'm releasing a last version of plone.app.locales tomorrow morning CET.

@mauritsvanrees
Copy link
Member Author

At this point, I don't feel comfortable making 5.2.2 final with Zope 4.4.4. There are too many reports of template problems.
Going back to 4.3 is on the table as option for this release.
But I will sleep now, and then go on vacation for a week, so a decision will have to wait. Sorry about that!

@tkimnguyen
Copy link
Member

This is your call! And I would trust your instincts. Have a great vacation week celebrating Canada Day! 🇨🇦 😆

@vincentfretin
Copy link
Member

Have a great vacation!
I will delay the plone.app.locales release for a week then, no hurry. :-)

@vincentfretin
Copy link
Member

vincentfretin commented Jul 3, 2020

While you're on vacation, we continue fixing issues :-)

@mauritsvanrees
Copy link
Member Author

mauritsvanrees commented Jul 17, 2020

I have updated https://dist.plone.org/release/5.2.2-pending

Remaining known issues:

@mauritsvanrees
Copy link
Member Author

mauritsvanrees commented Jul 21, 2020

With my Security Team hat on I want this in, to ease future hotfixes:

With my Release Manager hat on, I grumble about this, but grudgingly agree.

@mauritsvanrees
Copy link
Member Author

mauritsvanrees commented Jul 21, 2020

New one about dependencies, should be easy to fix:

@mauritsvanrees
Copy link
Member Author

mauritsvanrees commented Jul 24, 2020

@mauritsvanrees
Copy link
Member Author

I have done a couple more releases, some fixing issues mentioned above, plus some small bug fixes.
Only remaining blocker as far as I am concerned is now a Zope 4.5.1 release containing template/chameleon fixes, which I asked about today.

@mauritsvanrees
Copy link
Member Author

ZEO and Zope releases are available, changes merged to coredev.
I will note one more issue on Windows: plone/plone.recipe.zope2instance#144. But I won't treat it as a blocker: we have waited far far longer than I wanted to already.

@mauritsvanrees
Copy link
Member Author

I have made release candidate 5.2.2rc3:
https://dist.plone.org/release/5.2.2-pending/

@mauritsvanrees
Copy link
Member Author

And 5.2.2 is final!
Release notes are here: https://dist.plone.org/release/5.2.2/RELEASE-NOTES.txt

Now I need to get back to my earliest checklist above.

@mauritsvanrees
Copy link
Member Author

Note that based on coredev branch release-5.2.2-pending I have made tag 5.2.2.
I will remove the branch in a few days, but will keep the tag.

@avoinea
Copy link
Member

avoinea commented Aug 17, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants