@@ -319,92 +319,87 @@ The following items should be completed before proceeding to release cutting:
319319
320320## Cutting a release
321321
322- In the following text, the `X.Y.Z` string denotes the version number that
323- you're preparing, for example `4.19.1`.
322+ 1. Determine the version metadata (to be used in the next steps):
324323
325- 1. Make a release commit:
324+ 1. `NUMBER` - RPM version number, as shown in the `rpm --version` output,
325+ e.g. `6.0.0` or `5.99.92`
326+ 1. `VERSION` - RPM version number when final, e.g. `6.0.0` (equivalent to
327+ `NUMBER` if final)
328+ 1. `LABEL` - release label, e.g. `beta1` (if prerelease) or `release` (if
329+ final)
326330
327- 1. Bump `VERSION` in `project()` in CMakeLists.txt
331+ 1. Make a release commit:
328332
333+ 1. Set `project(VERSION ...)` in CMakeLists.txt to `NUMBER`
329334 1. Bump `RPM_SOVERSION` and `RPM_LIBVERSION` in CMakeLists.txt:
330-
331335 * Consult the associated comment block in CMakeLists.txt for
332336 instructions.
333337 * soname bumps can only occur at the first version of a new branch
334338 (i.e. alpha/beta).
335-
336339 1. Update the output of "pinned" tests: `make pinned`
337-
338- 1. Commit the changes from the previous step with something like "Preparing
339- for X.Y.Z" as the message
340+ 1. Commit the changes from the previous step with "Preparing for `VERSION
341+ LABEL`" as the message
340342
3413431. Tag the release:
342344
343- `git tag -am "RPM X.Y.Z release" rpm-X.Y.Z-release`
344-
345- 1. Push the tag. This is the point of no return for a given release:
346-
347- `git push rpm-X.Y.Z-release`
345+ `git tag -am "RPM VERSION LABEL" rpm-VERSION-LABEL`
348346
349- 1. Compile release notes (see `git changelog -h` for more details) :
347+ 1. Push the tag :
350348
351- `git changelog -m > changelog.md `
349+ `git push rpm-VERSION-LABEL `
352350
353- 1. Publish the release :
351+ 1. Generate a tarball on GitHub :
354352
355- 1. Create a draft release on GitHub for the new tag:
353+ 1. Create a GitHub release for the new tag:
356354
357- `gh release create --draft --title "RPM X.Y.Z" --notes-file changelog.md rpm-X.Y.Z-release`
355+ ```
356+ gh release create --title "RPM VERSION LABEL" \
357+ --notes "Visit https://rpm.org/releases/NUMBER for the release notes and download information." \
358+ [--prerelease] rpm-VERSION-LABEL
359+ ```
358360
359- 1. View the draft in your browser (see the link printed by the command)
360- 1. Verify that the draft looks fine, make any adjustments if necessary
361- 1. Tick the "Create a discussion for this release" checkbox
362- 1. Click the Publish button to make the release available
363- 1. Verify that the release gets a tar.bz2 and CHECKSUM file attached under
364- "Assets" after a few minutes. This is done by a GitHub Actions workflow
365- named "Release artifacts" that automatically runs when a new release is
366- published.
361+ 1. This will trigger a GitHub Actions workflow that generates a `tar.bz2`
362+ and `CHECKSUM` file, and attaches both to the newly created release,
363+ under "Assets". This may take a few minutes.
367364
368- 1. Upload the tarball to [rpm. org](https://rpm .org/):
365+ 1. Upload the tarball to [ftp.osuosl. org](https://ftp.osuosl .org/):
369366
370- 1. Download the tar.bz2 and CHECKSUM files from the new release to your
367+ 1. Download the ` tar.bz2` and ` CHECKSUM` files from the new release to your
371368 current directory
372369 1. Verify the tarball's checksum:
373370
374371 `sha512sum -c CHECKSUM`
375372
376373 1. `scp` the tarball to `rpm@ftp-osl.osuosl.org` into the appropriate
377- per-branch directory in `~/ftp/releases/`
378- 1. Run the `./trigger-rpm` script in the home directory to start mirror
379- process
380-
381- 1. Update the homepage at [rpm.org](https://rpm.org/):
382- 1. Clone the [rpm-web](https://github.com/rpm-software-management/rpm-web)
383- repository (if not cloned yet) and enter it
384- 1. Make a copy of the `wiki/Releases/skeleton.md` file and name it
385- `wiki/Releases/X.Y.Z.md`
386- 1. Fill in the blanks, use the contents of `changelog.md` for the "Summary
387- of changes" section
388- 1. Add an entry to the `index.md` file announcing the release (see the
389- existing entries for inspiration), copy the Highlights section from
390- `changelog.md`
391- 1. Copy the entry into the `timeline.md` file
392- 1. Add an entry to the `download.md` file
393- 1. Commit the whole lot with a commit message such as "Release X.Y.Z"
394- 1. Push the above commit to the remote (this will automatically regenerate
395- the pages)
396-
397- 1. Send out an announcement mail:
398-
399- ```
400- To: rpm-announce@lists.rpm.org, rpm-maint@lists.rpm.org, rpm-list@lists.rpm.org
401- Subject: RPM X.Y.Z released!
402-
403- [some intro followed by the output of "git changelog"]
404-
405- For a complete list of changes, visit:
406-
407- https://rpm.org/wiki/Releases/X.Y.Z
408- ```
374+ per-branch directory in `~/ftp/releases/`. Use the `testing/`
375+ subdirectory if this is a prerelease.
376+ 1. Run the `./trigger-rpm` script in the `rpm` user's home directory on the
377+ server to start the mirroring process
378+
379+ 1. Publish the release on [rpm.org](https://rpm.org/):
380+
381+ 1. Clone the
382+ [rpm-web](https://github.com/rpm-software-management/rpm-web.git)
383+ repository (if not cloned already)
384+ 1. Add a new release page to the `_releases/` directory and name it
385+ `NUMBER.md`
386+ 1. Write the release notes and fill out the top `---` block ("front
387+ matter") according to the README file provided in the repo
388+ 1. Update the release notes draft for the final release (if this is a
389+ prerelease) accordingly
390+ 1. Commit and push
391+
392+ 1. Compose an announcement mail. See the previous
393+ [announcements](https://lists.rpm.org/pipermail/rpm-announce/) for
394+ inspiration. When ready, send it to the following mailing lists:
395+
396+ `rpm-announce@lists.rpm.org, rpm-maint@lists.rpm.org, rpm-list@lists.rpm.org`
397+
398+ 1. Open a discussion on GitHub:
399+
400+ 1. [Start](https://github.com/rpm-software-management/rpm/discussions/new?category=announcements)
401+ a new discussion topic in the "Announcements" category
402+ 1. Use the contents of the announcement mail from above
403+ 1. Submit and pin the discussion
409404
4104051. Party!
0 commit comments