summaryrefslogtreecommitdiff
path: root/doc/release.cli
diff options
context:
space:
mode:
Diffstat (limited to 'doc/release.cli')
-rw-r--r--doc/release.cli57
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|