From b424ac6fe9209a6c7429c6be5eba6621d0c2c3d8 Mon Sep 17 00:00:00 2001 From: Danny Scott Date: Mon, 4 May 2020 15:22:51 -0300 Subject: [PATCH] Update how-to-release instructions Document bakefile version needed and the commands for regenerating the files generated by it. Also update instructions for changing C:R:A values. Closes https://github.com/wxWidgets/wxWidgets/pull/1838 --- docs/contributing/how-to-release.md | 53 +++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 14 deletions(-) diff --git a/docs/contributing/how-to-release.md b/docs/contributing/how-to-release.md index 3fa7e345de..f898d42d18 100644 --- a/docs/contributing/how-to-release.md +++ b/docs/contributing/how-to-release.md @@ -5,6 +5,7 @@ Creating a new release requires a few things before getting started: * Linux (or another Unix but GNU tar is required). * Windows 7+ with HTML Help Workshop, and Inno Setup installed. * 7-Zip, Doxygen 1.8.8, and GraphViz installed on both machines. +* [Bakefile 0.2.12](https://bakefile.org/) installed on the linux machine. Unless mentioned otherwise, all steps should be run on Linux or OSX so that the repository export used for the release is primarily using LF line endings. Files @@ -47,10 +48,15 @@ and then run it using the new DLLs. ## Pre-Release Steps 1. Perform the following steps. You can run `build/tools/pre-release.sh` to do - the straightforward changes like updating the date and version number + the straightforward changes like updating the dates and checksums automatically, but please also review and update the contents of the README and announcement text. + The Post-Release step of the previous release will have updated + the micro version of this release. If this release represents a major + or minor release, these changes will have to be performed manually at + this point. + Note that the best order depends on the release being prepared: for a development release, `docs/publicity/announce.txt` contains the list of the major changes since the last stable release and should be updated first, as @@ -67,7 +73,18 @@ and then run it using the new DLLs. * Update `docs/msw/binaries.md`: at least the version, but possibly also the list of supported compilers. -2. Commit the changes and tag the release using your GPG key: +2. For micro releases, review the changelog to determine if any ABI changes + have been made. If so, or if this is a major or minor release, update + the C:R:A settings in `build/tools/version.bkl`. Then from the + `build/bakesfiles` directory run + + bakefile_gen + + and from the root directory run + + autoconf -B build/autoconf_prepend-include + +3. Commit the changes and tag the release using your GPG key: git tag -s -m 'Tag X.Y.Z release' vX.Y.Z @@ -182,22 +199,30 @@ Submit to https://isocpp.org/blog/suggest (need to be logged in to do it). For major releases, submit the announcement to https://slashdot.org/submission -## Version Updates +## Post-Release Steps -Trac: mark the milestone corresponding to the release as completed and add a -new version for it to allow reporting bugs against it and create the next -milestone (ask Vadim or Robin to do it or to get admin password). +* Trac: mark the milestone corresponding to the release as completed and +add a new version for it to allow reporting bugs against it and create the +next milestone (ask Vadim or Robin to do it or to get admin password). -Update the roadmap at https://trac.wxwidgets.org/wiki/Roadmap to at least -mention the new release there. +* Update the roadmap at https://trac.wxwidgets.org/wiki/Roadmap to at +least mention the new release there. -Increase the version for the next release at https://trac.wxwidgets.org/wiki/Queries -in "Tickets to be fixed for the next release". +* Increase the version for the next release at +https://trac.wxwidgets.org/wiki/Queries in "Tickets to be fixed for the +next release". -Run `misc/scripts/inc_release` to increment micro version, i.e. replace x.y.z -with x.y.z+1 (minor or major versions updates require manual intervention) -and rerun both `bakefile_gen` and `autoconf` afterwards to update the version -in the generated files too. +* Run `misc/scripts/inc_release` to increment micro version, +i.e. replace x.y.z with x.y.z+1. + +* Update the C:R:A settings in build/tools/version.bkl to C:R+1:A. +Then from the build/bakesfiles directory run + + bakefile_gen + +and from the root directory run + + autoconf -B build/autoconf_prepend-include ## MSW Visual Studio Official Builds