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
This commit is contained in:
Danny Scott
2020-05-04 15:22:51 -03:00
committed by Vadim Zeitlin
parent 7158c9b5be
commit b424ac6fe9

View File

@@ -5,6 +5,7 @@ Creating a new release requires a few things before getting started:
* Linux (or another Unix but GNU tar is required). * Linux (or another Unix but GNU tar is required).
* Windows 7+ with HTML Help Workshop, and Inno Setup installed. * Windows 7+ with HTML Help Workshop, and Inno Setup installed.
* 7-Zip, Doxygen 1.8.8, and GraphViz installed on both machines. * 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 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 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 ## Pre-Release Steps
1. Perform the following steps. You can run `build/tools/pre-release.sh` to do 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 automatically, but please also review and update the contents of the README
and announcement text. 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 Note that the best order depends on the release being prepared: for a
development release, `docs/publicity/announce.txt` contains the list of the development release, `docs/publicity/announce.txt` contains the list of the
major changes since the last stable release and should be updated first, as 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 * Update `docs/msw/binaries.md`: at least the version, but possibly also
the list of supported compilers. 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 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 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 * Trac: mark the milestone corresponding to the release as completed and
new version for it to allow reporting bugs against it and create the next add a new version for it to allow reporting bugs against it and create the
milestone (ask Vadim or Robin to do it or to get admin password). 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 * Update the roadmap at https://trac.wxwidgets.org/wiki/Roadmap to at
mention the new release there. least mention the new release there.
Increase the version for the next release at https://trac.wxwidgets.org/wiki/Queries * Increase the version for the next release at
in "Tickets to be fixed for the next release". 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 * Run `misc/scripts/inc_release` to increment micro version,
with x.y.z+1 (minor or major versions updates require manual intervention) i.e. replace x.y.z with x.y.z+1.
and rerun both `bakefile_gen` and `autoconf` afterwards to update the version
in the generated files too. * 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 ## MSW Visual Studio Official Builds