TODO ==== @@ Run tests in each project/package? @@ Local Clang test is broken and disabled. @@ Release date update in man page generation 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. - Build new prerequisites (if any) on local, freebsd (install to /usr/local). Prelude ======= - Copy new/updated prerequisites into build2-X.Y/ - Need to update submodules? - Need to regenerate ODB files, CLI documentation? - 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) Procession ========== - Generate distribution (use -t for toolchain-only, without brep) etc/dist 2>&1 | tee dist.log - Stage packages to cppget1 host etc/stage - Determine the earliest supported toolchain (see requires: in manifests), update ./test - Test etc/test 2>&1 | tee test.log grep -i warning test.log - Upgrade brep on cppget1 (using pkg.cppget1), verify works - Publish to production (build2.org/cppget.org) etc/publish - 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://pkg.cppget.org/1/alpha - Upgrade brep on cppget.org (using pkg.cppget.org), verify works - Tag etc/tag ./push.sh - Commit and push cppget.org Postlude ======== - Increment and open schema versions. Maybe not. Maybe we should only do that when there is a model change. - Increment project versions