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.1.0b2 #4080

Open
32 of 40 tasks
mauritsvanrees opened this issue Dec 16, 2024 · 11 comments
Open
32 of 40 tasks

Release checklist Plone 6.1.0b2 #4080

mauritsvanrees opened this issue Dec 16, 2024 · 11 comments
Assignees

Comments

@mauritsvanrees
Copy link
Member

mauritsvanrees commented Dec 16, 2024

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. Ask Peter Mathis (petschki).
    • 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.1.0a1, later 6.1.0b1 and 6.1.0rc1). Fine to release this on PyPI. Once Plone 6.1 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.1-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.1-dev; git reset --hard 6.1; git reset origin/release/6.1-dev. Then check which changes you want to commit.
  • Update the 6.1-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.1.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.
    • NEW. Run make install. This uses mxdev to install packages and generate some files. Most importantly this generates constraints-mxdev.txt. This contains all constraints, and makes sure no constraints are in there twice (provided that mx.ini is correct). This is really the only constraints file that is needed and that is correct. So I think I will only ship this one and call it constraints.txt on dist.plone.org. This may need some more thought and updates in next releases.
    • 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.1 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.1-dev branch update changelog, release notes, constraints.txt.
  • Create tag of the release/6.1-dev branch, e.g. 6.1.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.1.0a1 6.1-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.

@mauritsvanrees mauritsvanrees self-assigned this Dec 16, 2024
@mauritsvanrees
Copy link
Member Author

@tisto @sneridagh @petschki @davisagli @erral
I want to make a beta 2 release for Plone 6.1 this week.
Also a 6.0.14 release, see issue #4079.
Could you make releases for your packages please if needed?
Please do so on Tuesday or Wednesday, then I can release on Thursday or Friday.

@stevepiercy
Copy link
Contributor

stevepiercy commented Dec 17, 2024

I'm not sure when Python 3.13 will become official, but I'll drop this one here.

Do we need a separate item to update docs, tests, metadata, and other bits and pieces in other packages, including plone.restapi and plone.api, to mention Python support, or do we create issues in each of the separate repos and reference this issue? Of course, that assumes those packages must be aligned with Products.CMFPlone with regard to Python support.

@erral
Copy link
Member

erral commented Dec 17, 2024

plone.app.locales 6.0.26 released

@sneridagh
Copy link
Member

@mauritsvanrees just released Volto 18.4.0

@davisagli
Copy link
Member

I released plone.volto 5.0.1

@erral
Copy link
Member

erral commented Dec 17, 2024

I have released plone.app.locales = 6.0.27 with updated fi translation

@petschki
Copy link
Member

Classic-UI releases done:

plone.staticresources = 2.2.0b3
plonetheme.barceloneta = 3.2.1

@mauritsvanrees
Copy link
Member Author

I have done a preliminary update of https://dist.plone.org/release/6.1-dev/

@davisagli
Copy link
Member

@mauritsvanrees I released plone.restapi 9.9.0

@mauritsvanrees
Copy link
Member Author

There were changes in plone.distribution but it did not get automatically added in checkouts.cfg. So some webhooks were missing. I have created the GitHub hooks using https://jenkins.plone.org/roboto/ for the following repos:

plone.distribution
plone.classicui
plone.exportimport

Only plone.distribution has changes, so I will make a release for that.

@mauritsvanrees
Copy link
Member Author

All done, pending Docker release.

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

6 participants