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:
committed by
Vadim Zeitlin
parent
7158c9b5be
commit
b424ac6fe9
@@ -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
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user