diff options
Diffstat (limited to 'doc/release.cli')
-rw-r--r-- | doc/release.cli | 57 |
1 files changed, 49 insertions, 8 deletions
diff --git a/doc/release.cli b/doc/release.cli index 7a12889..ce19557 100644 --- a/doc/release.cli +++ b/doc/release.cli @@ -133,6 +133,27 @@ distribution from \c{etc/stage} and add the pre-distributed packages etc/upgrade \ + Or, if released ODB on the previous step, update \c{libodb*} version + constraint using \c{etc/version}, commit, and then: + + \ + etc/upgrade -c + + # Trigger header regeneration (ignore ODB version mismatch errors). + # + BDEP_SYNC=0 b --match-only ~/work/build2/builds/gcc7/ + + # Make sure the ODB compiler is up-to-date and run in all the relevant + # projects (bpkg, bdep, brep): + # + ./odb.sh ~/work/build2/builds/gcc7/ + + BDEP_SYNC=0 b build2/ bpkg/ bdep/ + b build2/ bpkg/ bdep/ # Should be noop. + \ + + Then push \c{build2} repositories. + \h#hello|Update \c{hello/} projects| @@ -151,8 +172,9 @@ distribution from \c{etc/stage} and add the pre-distributed packages git push ... \ - Once done, run the \c{intro} scripts and review any changes in the output - (this information will be helpful on the next step): + Once done, make sure the latest \c{libhello} revision is on stage, run the + \c{intro} scripts, and review any changes in the output (this information + will be helpful on the next step): \ cd etc @@ -275,6 +297,12 @@ distribution from \c{etc/stage} and add the pre-distributed packages etc/stage -b \ + Consider restaging queue for good measure. + + \ + etc/stage-queue + \ + | \li|While build machines are bootstrapping, upgrade \c{brep} on \c{stage}, @@ -298,12 +326,15 @@ distribution from \c{etc/stage} and add the pre-distributed packages Test \c{cxx20-modules-examples} (see \c{test} script). + Test any third-party/demos (\c{build2-dynamic-module-demo}, + \c{boost-dependency}). + Test on ARM Mac (run tests for \c{libbutl/build2/bpkg/bdep}. Test build system modules (especially standard pre-installed). - Test old toolchain version (can fetch and build old pckages from - queue.stage). + Test old toolchain version (can fetch and build old packages from + \c{queue.stage}; add dummy package if all require to be released toolchain). \h#install-stage|Test install scripts| @@ -407,6 +438,9 @@ distribution from \c{etc/stage} and add the pre-distributed packages bdep release --no-open --show-push \ + Also release \c{libbuild2-hello} (it's not standard pre-installed + but it gets published). + | \li|Regenerate documentation in each package (including standard @@ -509,7 +543,8 @@ distribution from \c{etc/stage} and add the pre-distributed packages \ul| \li|Regenerate documentation in each package inside as well as in - \c{build2-toolchain} itself.| + \c{build2-toolchain} itself. @@ \c{libbuild-kconfig} not configured + out of tree? Or maybe it gets updated automatically during dist?| \li|Update ODB by copying relevant files from the previous step (trust me, this is the easy way for now). Make sure all \c{*-odb.*} are copied!| @@ -621,6 +656,8 @@ distribution from \c{etc/stage} and add the pre-distributed packages replacements. We can only proceed further once we have a \"resolution\" for every (newly) broken package. + \N|If public has been built with the staged toolchain, rebuilding of the + public repository (which takes days) can be omitted.| \h#stop-queue|Stop \c{queue} builds| @@ -658,8 +695,9 @@ distribution from \c{etc/stage} and add the pre-distributed packages (effectively making it a no-toolchain configuration), regenerate, and power on the new set of \c{public} build hosts. - Review deployed machines against the updated \c{public} \c{buildtab} and - remove those that are no longer used: + + @@ See new sync scripts for this step: Review deployed machines against the + updated \c{public} \c{buildtab} and remove those that are no longer used: \ cd private/buildos/ @@ -703,7 +741,7 @@ distribution from \c{etc/stage} and add the pre-distributed packages \h#pub-dist|Publish distribution| - Change \c{BUILD2_REPO} in \c{build2-toolchain} build scripts to \c{public}, + Change \c{build2_repo} in \c{build2-toolchain} \c{buildfile} to \c{public}, commit, and publish the distribution (this also cleans/disables the \c{queue} toolchain): @@ -741,6 +779,9 @@ distribution from \c{etc/stage} and add the pre-distributed packages we just smoke-test each script on its \"primary\" platform and make sure \c{public} URLs/repositories are used. + Also test building an old package with the previous version of the + toolchain. + \h#web|Update web| \ul| |