Skip to content

Commit 340a0ae

Browse files
committed
Clean up release.md and add Community Forum posts
1 parent 2098aa7 commit 340a0ae

File tree

1 file changed

+48
-44
lines changed

1 file changed

+48
-44
lines changed

docs/contributing/core/release.md

Lines changed: 48 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -25,24 +25,25 @@ This command includes the following requirements.
2525
All files mentioned in this list may be written in Markdown or reStructuredText and have the appropriate file name suffix.
2626
```
2727

28-
- All releases must be hosted on PyPI.
29-
- All versions must be tagged in version control.
30-
- Each package must have a {file}`README` file with links to the version control repository and issue tracker.
31-
- {file}`CHANGES` ({file}`docs/HISTORY`) must be always up-to-date and must contain list of functional changes which may affect package users.
32-
- {file}`CHANGES` must contain release dates.
33-
- {file}`README` and {file}`CHANGES` must be visible on PyPI.
34-
- Released eggs must contain generated gettext `.mo` files, but these files must not be committed to the repository.
28+
- All releases must be hosted on PyPI.
29+
- All versions must be tagged in version control.
30+
- Each package must have a {file}`README` file with links to the version control repository and issue tracker.
31+
- {file}`CHANGES` (or {file}`docs/HISTORY`) must be always up-to-date and must contain list of functional changes which may affect package users.
32+
- {file}`CHANGES` must contain release dates.
33+
- {file}`README` and {file}`CHANGES` must be visible on PyPI.
34+
- Released eggs must contain generated gettext `.mo` files, but these files must not be committed to the repository.
3535
The `.mo` files can be created with the `zest.pocompile` add-on, which should be installed together with `zest.releaser`.
36-
- `.gitignore` and `MANIFEST.in` must reflect the files going in to the egg (must include page template, po files).
36+
- `.gitignore` and `MANIFEST.in` must reflect the files going in to the egg (must include page template and `.po` files).
3737

3838
```{seealso}
3939
[High quality automated package releases for Python with `zest.releaser`](https://opensourcehacker.com/2012/08/14/high-quality-automated-package-releases-for-python-with-zest-releaser/).
4040
```
4141

42+
4243
## Special packages
4344

4445
The Plone Release Team releases the core Plone packages.
45-
Several others also have the rights to release individual packages on [PyPI](https://pypi.org/).
46+
Several other people also have the rights to release individual packages on [PyPI](https://pypi.org).
4647
If you have those rights on your account, you should feel free to make releases.
4748

4849
Some packages need special care, or should be done only by specific people, as they know what they are doing.
@@ -54,13 +55,14 @@ These are:
5455
`plone.app.locales`
5556
: Please leave this to the i18n team lead, Vincent Fretin.
5657

58+
5759
## Plone core release process checklist
5860

59-
1. Check Jenkins status.
60-
Check the latest Plone coredev job on [Jenkins](https://jenkins.plone.org/).
61+
1. Check Jenkins status.
62+
Check the latest Plone coredev job on [Jenkins](https://jenkins.plone.org).
6163
It should be green, but if it is not, fix the problem first.
6264

63-
2. Check out `buildout.coredev`.
65+
1. Clone `buildout.coredev`, then check out and build the version to be released.
6466

6567
```shell
6668
git clone [email protected]:plone/buildout.coredev.git
@@ -70,8 +72,8 @@ These are:
7072
bin/buildout -c buildout.cfg
7173
```
7274

73-
3. Check packages for updates.
74-
Check all packages for updates, add to or remove from `checkouts.cfg` accordingly.
75+
1. Check packages for updates.
76+
Add to or remove from `checkouts.cfg` accordingly.
7577
This script may help:
7678

7779
```shell
@@ -80,48 +82,50 @@ These are:
8082

8183
This step should not be needed, because we do the check for every single commit, but people may still have forgotten to add a package to the `checkouts.cfg` file.
8284

83-
4. Check packages individually.
85+
1. Check packages individually.
8486

8587
Use the `bin/fullrelease` script from the core development buildout.
8688
This includes extra checks that we have added in `plone.releaser`.
8789
It guides you through all the next steps.
8890

89-
1. Check changelog.
91+
1. Check changelog.
9092
Check if `CHANGES` is up-to-date.
9193
All changes since the last release should be included.
9294
A "Fixes" or "New" header should be included, with the relevant changes under it.
9395
Upgrade notes are best placed here as well.
9496
Compare `git log HEAD...<LAST_RELEASE_TAG>` with `CHANGES`, or from `zest.releaser` use the command `lasttaglog <optional tag if not latest>`.
95-
2. Run [pyroma](https://pypi.org/project/pyroma/).
96-
3. Run [check-manifest](https://pypi.org/project/check-manifest/).
97-
4. Check package "best practices" (`README`, `CHANGES`, `src` directory).
98-
5. Check if the version in `setup.py` is correct and follows our versioning best practice.
99-
6. Make a release (zest.releaser: `bin/fullrelease`)
100-
7. Remove packages from auto-checkout section in `checkouts.cfg` and update `versions.cfg`.
101-
102-
5. Make sure `plone.app.upgrade` contains an upgrade step for the future Plone release.
103-
6. Update CMFPlone version in `profiles/default/metadata.xml`.
104-
7. Create an issue in <https://github.com/collective/plone.app.locales/issues> to ask the i18n team lead @vincentfretin to do a `plone.app.locales` release.
105-
8. Create a pending release (directory) on [dist.plone.org](https://dist.plone.org/).
106-
107-
1. Copy all core packages there.
108-
2. Possibly make an alpha or beta release of CMFPlone.
109-
3. Copy the `versions.cfg` file from coredev to there.
110-
111-
9. Write an email to the Plone developers list announcing a pending release.
112-
10. Update `plone.app.locales` version.
113-
11. Create a unified changelog.
97+
1. Run [pyroma](https://pypi.org/project/pyroma/).
98+
1. Run [check-manifest](https://pypi.org/project/check-manifest/).
99+
1. Check package "best practices" (`README`, `CHANGES`, `src` directory).
100+
1. Check if the version in `setup.py` is correct and follows our versioning best practice.
101+
1. Make a release with `zest.releaser`: `bin/fullrelease`.
102+
1. Remove packages from the `auto-checkout` section in `checkouts.cfg`, and update `versions.cfg`.
103+
104+
1. Make sure `plone.app.upgrade` contains an upgrade step for the future Plone release.
105+
1. Update CMFPlone version in `profiles/default/metadata.xml`.
106+
1. Create an issue in https://github.com/collective/plone.app.locales/issues to ask the i18n team lead `@vincentfretin` to do a `plone.app.locales` release.
107+
1. Create a pending release (directory) on [dist.plone.org](https://dist.plone.org/).
108+
109+
1. Copy all core packages there.
110+
1. Possibly make an alpha or beta release of CMFPlone.
111+
1. Copy the `versions.cfg` file from coredev to there.
112+
113+
1. Write an email to the Plone developers list announcing a pending release.
114+
1. Create a post on the Plone Community Forum announcing a pending release.
115+
1. Update `plone.app.locales` version.
116+
1. Create a unified changelog.
114117
115118
```shell
116119
bin/manage changelog
117120
```
118121
119-
12. Make the final release on [dist.plone.org](https://dist.plone.org/) (remove "-pending")
120-
13. Update the "-latest" link on [dist.plone.org](https://dist.plone.org/).
121-
14. For Plone 5.x versions only, create the new release on [Launchpad](https://launchpad.net/plone/).
122-
15. Create a release page on [plone.org](https://plone.org/download/releases)
123-
16. Wait for installers to be uploaded to Launchpad, with a link to the [plone.org](https://plone.org/download/releases) release page.
124-
17. Publish release page on [plone.org](https://plone.org/).
125-
18. Update [plone.org](https://plone.org/) homepage links to point to the new release.
126-
19. Send out announcement to the plone-announce email distribution list.
127-
20. Ask the security team to update the [Hotfixes](https://plone.org/security/hotfixes/) page in the configuration control panel.
122+
1. Make the final release on [dist.plone.org](https://dist.plone.org/) (remove "-pending")
123+
1. Update the "-latest" link on [dist.plone.org](https://dist.plone.org/).
124+
1. For Plone 5.x versions only, create the new release on [Launchpad](https://launchpad.net/plone/).
125+
1. Create a release page on [plone.org](https://plone.org/download/releases)
126+
1. Wait for installers to be uploaded to Launchpad, with a link to the [plone.org](https://plone.org/download/releases) release page.
127+
1. Publish release page on [plone.org](https://plone.org/).
128+
1. Update [plone.org](https://plone.org/) homepage links to point to the new release.
129+
1. Send out announcement to the plone-announce email distribution list for the final release.
130+
1. Create a post on the Plone Community Forum announcing the final release.
131+
1. Ask the security team to update the [Hotfixes](https://plone.org/security/hotfixes/) page in the configuration control panel.

0 commit comments

Comments
 (0)