summaryrefslogtreecommitdiff
path: root/release.txt
diff options
context:
space:
mode:
Diffstat (limited to 'release.txt')
-rw-r--r--release.txt111
1 files changed, 97 insertions, 14 deletions
diff --git a/release.txt b/release.txt
index c813817..e9985c6 100644
--- a/release.txt
+++ b/release.txt
@@ -1,40 +1,106 @@
TODO
====
-@@ Run tests in each project/package?
-@@ Local Clang test is broken and disabled.
-@@ Release date update in man page generation
+@@ Looks like we need a public staging host.
+@@ Local Clang test is broken and disabled, using FreeBSD for Clang testing
+Notes
+====
+- Be very careful with submodules if fixing anything, remember to update
+ build2-toolchain.
Setup
=====
-- Set passwordless sudo, logins to freebsd, cppget1
-
- Make symlinks to development b, bpkg in /usr/local/bin/, used as the latest
toolchain.
- Boot cppget1, freebsd VMs, make sure data/time is correct.
+- Set passwordless sudo, logins to freebsd, cppget1, rbook (Mac OS)
+
+ For Mac OS:
+ echo "boris ALL=(ALL) NOPASSWD:ALL" >>/etc/sudoers
+ #echo "192.168.111.103 cppget1 pkg.cppget1" >>/etc/hosts
+ #echo "192.168.0.19 protem" >>/etc/hosts
+ curl --resolve 'pkg.cppget1:8080:192.168.0.19' http://pkg.cppget1:8080/1/
+ iptables -t nat -A PREROUTING -d 192.168.0.19 -p tcp --dport 8080 -j DNAT --to-destination 192.168.111.103:80
+
+- Copy prerequisites into build2-X.Y/, generate sha256 sums in BINARY (-b)
+
- Build new prerequisites (if any) on local, freebsd (install to /usr/local).
Prelude
=======
-- Copy new/updated prerequisites into build2-X.Y/
+- Review '@@' items [note: etc, private excluded]
+
+ etc/review | less -R
-- Need to update submodules?
+- Increment version to final.
-- Need to regenerate ODB files, CLI documentation?
+ * Need to update versions/dates for man generation.
- Close schema versions, review schema changlog difference from previous
release (tag) for any data migration that may be required (@@ Would also
need to test this).
-- Run bpkg tests, valgrind, remote (publish)
+- Need to update submodules? Remember to push first.
+
+- Need to regenerate ODB files, CLI documentation, in build2-toolchin!
+
+- Update everything:
+
+ b libbutl/ build2/ libbpkg/ bpkg/ brep/ build2-toolchain-default/
+
+- Run tests for each project:
+
+ * b 'test(libbutl/ libbpkg/)'
+
+ * Manually in build2/
+
+ * Manually in bpkg/; test valgrind, publish, test remote with -v, FreeBSD
+ tools:
+
+ ./test.sh -v --remote --fetch fetch --fetch-option --no-verify-peer \
+ --tar bsdtar --sha256 sha256-freebsd
+
+ * Update hello repository:
+
+ cd hello
+ for d in hello libhello libprint libformat repository; do \
+ git -C $d status; done
+ ./release -a
+
+ * Update cppget repository (existing packages, not publishing yet):
+
+ cd cppget.org
+ git -C repository status
+ ./update repository/1/
+
+ This might not work in the early stage (backwards-incompatible)
+
+ ./test -c cxx -c config.cxx.loptions=-L/usr/local/lib \
+ -c config.cxx.poptions="-I/usr/include/apache2 -I/usr/include/apr-1.0" \
+ repository/1/
+
+ * Test dev integration of brep/ on hello and cppget repos
+
+ First check if Apache2 configuration needs updating (INSTALL-DEV). Then
+ from build2/ work root:
+
+ # This will have broken links since we are not running it as /pkg/hello.
+ #
+ brep/migrate/brep-migrate --recreate
+ brep/load/brep-load hello/brep-loader-home.conf
+ sudo /etc/init.d/apache2 restart
+
+ brep/migrate/brep-migrate --recreate
+ brep/load/brep-load cppget.org/brep-loader-home.conf
+ sudo /etc/init.d/apache2 restart
Procession
==========
@@ -48,7 +114,14 @@ Procession
etc/stage
- Determine the earliest supported toolchain (see requires: in manifests),
- update ./test
+ update etc/test
+
+- Publish hello repository [@@ Ideally we would want to stage it. Perhaps
+ on cppget1?]
+
+- Test Intro steps:
+
+ etc/intro https://build2.org/pkg/1/hello/
- Test
@@ -64,23 +137,33 @@ Procession
- Test production and save a copy of toolchain in etc1/install/X.Y.Z
etc/install -t -i "etc1/install/`cat build2-toolchain/version`" \
- https://download.build2.org/0.1/build2-toolchain-0.1.0.tar.gz \
+ https://download.build2.org/0.Y/build2-toolchain-0.2.0.tar.gz \
+ https://pkg.cppget.org/1/alpha
+
+etc/install -t -i "etc1/install/`cat build2-toolchain/version`" \
+ https://download.build2.org/0.2/build2-toolchain-0.2.0.tar.gz \
https://pkg.cppget.org/1/alpha
- Upgrade brep on cppget.org (using pkg.cppget.org), verify works
-- Tag
+- Tag (review tag_modules)
etc/tag
./push.sh
-- Commit and push cppget.org
+- Commit and push cppget.org, hello git repositories
+
+Release
+=======
+cat `ls -1 *.sha256`
Postlude
========
+- Need to regenerate/republish hello/ repository?
+
- Increment and open schema versions. Maybe not. Maybe we should only do that
when there is a model change.
-- Increment project versions
+- Increment project versions to alpha1