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 checklist Plone 6.0.5 #3783

Closed
37 tasks done
mauritsvanrees opened this issue May 19, 2023 · 10 comments
Closed
37 tasks done

Release checklist Plone 6.0.5 #3783

mauritsvanrees opened this issue May 19, 2023 · 10 comments

Comments

@mauritsvanrees
Copy link
Member

mauritsvanrees commented May 19, 2023

See the release schedule.

Release packages, update versions

  • 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. This is less needed now that we have mr.roboto to add packages to the checkouts. Use bin/versioncheck to see if any new PyPI releases are worth adding, or check the artifact of the versioncheck GitHub Action.
  • Release individual packages from checkouts.cfg.
  • Check that the version numbers of CMFPlone metadata.xml and latest upgrade step are in sync, and that they are higher than in the previous Plone release.
  • Handle special packages, often handled by special people. :-) You can can ping people in the release-team channel on Discord, in the current issue, or individually:
    • plonetheme.barceloneta needs a release on PyPI and npmjs. Maybe ask Peter Holzer (agitator) or Peter Mathis (petschki) for assistence.
    • plone.staticresources and mockup. Ask on Discord in the classic-ui or ask Johannes (thet), Peter Mathis (petschki) or Maik (MrTango).
    • plone.restapi and maybe plone.volto. If needed, ask the Plone REST api team or Timo (tisto) for a new release.
    • plone.app.locales. Create an issue there or ask Mikel (erral).
    • Release plone.app.upgrade and Plone yourself.
    • Update the versions of those packages in versions.cfg.
  • Make an alpha/beta/release candidate release of Products.CMFPlone (e.g. 6.0.0a1, later 6.0.0b1 and 6.0.0rc1). Fine to release this on PyPI. Once Plone 6 is final, we can continue doing release candidates for the bugfix releases, so people can try it in a pending release.

Release notes, constraints, dist.plone.org

  • Adjust coredev branch release/6.0-dev. Most importantly, the auto-checkout list in checkouts.cfg should be empty, and the versions.cfg and requirements.txt should be the same. One way that works for me: git checkout release/6.0-dev; git reset --hard 6.0; git reset origin/release/6.0-dev. Then check which changes you want to commit.
  • Update the 6.0-dev directory on dist.plone.org, and gather files to put there:
    • You can use tox -c release/tox.ini -p auto to create or copy some files in release/dist. But you need to create some of those files first.
    • Create a unified changelog based on the previous release: bin/manage changelog --start=6.0.0a1 > release/changelog.txt. Remove the uninteresting top lines. You may want to link to the Zope changelog with a specific tag.
    • Create a file release/RELEASE-NOTES.md. It may be enough to look through the changelog and copy interesting changes.
    • Get the versions.cfg file and any other versions files from coredev.
    • Create a release/constraints.txt file from this. The above tox command generates this. Note: at some point I expect the constraints file to become leading, and we may need to generate a versions.cfg file instead.
    • Copy (rsync) these files to the pending release directory. (We used to copy packages as well, but we do not do this for Plone 6 anymore.)
  • Write a post on community.plone.org announcing a pending/soft release. See example. In the 6.0 alpha/beta/rc stage, we can skip pending releases and just make a real release.
  • Wait for feedback, preferably at most a few days. As said, in the alpha/beta/rc stage, we can skip this.

Final release, Docker

  • Make final release of Products.CMFPlone to PyPI, update versions.cfg.
  • In release/6.0-dev branch update changelog, release notes, constraints.txt.
  • Create tag of the release/6.0-dev branch, e.g. 6.0.0a1, and push to GitHub.
  • Make final release directory on dist.plone.org, with versions, requirements, constraints, changelog, release notes.
  • Update the "-latest" links on dist.plone.org, e.g. ln -sfT 6.0.0a1 6.0-latest
  • Notify Érico Andrei and/or Fred van Dijk in the #release-team Discord channel that there is a new release. They will create Docker images. Examples of changes: README.md and version.txt.

Announcements

You probably want to wait until the Docker images are there, but don't wait long.

  • Create release page on https://plone.org/download/releases
  • Send mail to Marketing Team so they can prepare announcements.
  • Update the https://plone.org/security/hotfixes/ page in the configuration control panel. This is done in the configuration registry: plone.securitysupport, plone.versions, plone.activemaintenance. You could ask the security team.
  • Publish release page on plone.org.
  • Update the release schedule: note the new release, and say when the next release in this series is expected.
  • Edit the link on https://plone.org/download.
  • Announce on community.plone.org.
  • In plone/documentation's conf.py, update PLONE_BACKEND_PATCH_VERSION and PLONE_BACKEND_MINOR_VERSION as needed. Ask Steve Piercy or do it yourself. Here is a sample PR.
  • Ask Philip Bauer and/or Fred van Dijk to update the demo sites. Here is a sample PR.
@mauritsvanrees
Copy link
Member Author

  • @tisto could you make plone.restapi/plone.volto releases if needed?
  • @erral another plone.app.locales release please?
  • @petschki / @thet Can you create barceloneta/mockup/staticresources releases?

I would like to have the releases on Wednesday May 24. Then Thursday/Friday the prerelease, and Tuesday 30 May the final release (Monday is the day after Pentecost).

@petschki @thet I see the extra effort of maintaining one branch of several Classic UI packages for 6.0 and one for 6.1. We could consider allowing Bootstrap 5.3 support in 6.0.x. But let's keep Bootstrap 5.2 as long as 5.3 is still in the alpha phase.

@erral
Copy link
Member

erral commented May 20, 2023

Released plone.app.locales = 6.0.14

@petschki
Copy link
Member

petschki commented May 22, 2023

Recent releases for Plone 6.0.x (all version files on coredev are up to date)

versions.cfg
plone.staticresources = 2.0.11
plonetheme.barceloneta = 3.0.2

versions-ecosystem.cfg:
plone.app.standardtiles = 3.1.1
plone.app.mosaic = 3.0.3

npmjs:
@plone/mockup = 5.0.12
@plone/plonetheme-barceloneta-base = 3.0.2

Features and bugfixes for Plone 6.1.x moving in parallel but I'm all in for bringing Bootstrap 5.3 to Plone 6.0.x when its final 👍🏼

@mauritsvanrees
Copy link
Member Author

Thanks for the releases!

Features and bugfixes for Plone 6.1.x moving in parallel but I'm all in for bringing Bootstrap 5.3 to Plone 6.0.x when its final 👍🏼

Let's consider that, yes, if it reduces maintenance burden without introducing breaking changes.

@mauritsvanrees
Copy link
Member Author

Coredev 6.0 uses fresh Zope 5.8.2 now, instead of a checkout.

@mauritsvanrees
Copy link
Member Author

A release candidate is almost ready. I have updated https://dist.plone.org/release/6.0-dev/ with the latest versions. No CMFPlone/Plone/p.a.upgrade yet.

But an interesting change was merged in plone.restapi today: the universal relations service.
@tisto Do we want that in this release? I am happy to wait another day or two.

@sneridagh I am linking to Volto 16.20.6 in the release notes. Are you planning a new Volto 16 release this week? Will any code in Volto 16 use the new restapi endpoint, or will that only be in Volto 17?

@sneridagh
Copy link
Member

@mauritsvanrees we might want to wait for the new p.restapi release. In the Volto Tram meeting we identified maybe a couple of another things mergeable there.

For the moment it would be great to release p.restapi with the relations addition.

Regarding Volto yes, let me take a look at the sprint outcome, and if we want to push for releasing another 16 one.

@mauritsvanrees
Copy link
Member Author

I have release 6.0.5rc1:

@mauritsvanrees
Copy link
Member Author

I have made the final releases, including plone.restapi 8.39.1 with an own zcml startup fix.
Available at https://dist.plone.org/release/6.0.5/

@mauritsvanrees
Copy link
Member Author

Announced:

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

No branches or pull requests

4 participants