diff options
Diffstat (limited to 'release.txt')
-rw-r--r-- | release.txt | 307 |
1 files changed, 0 insertions, 307 deletions
diff --git a/release.txt b/release.txt deleted file mode 100644 index 350bbaf..0000000 --- a/release.txt +++ /dev/null @@ -1,307 +0,0 @@ -@@ Need to sync hello/* projects with latest bdep-new output (and re-tag) - -@@ No upgrade testing - -- Add new bot machines/configurations/options from stage to queue to public - - @@ See paper in Build OS filder. - - @@ Might have to be done at release if things are incompatible. Maybe - better/cleaner to always do this at release. - -- Replace 0.7.0 and 0.7 in this document with the new version. - -- Remove etc/ and private/ from modules in etc/git/modules to reduce - noise during stat. Also, review for any new modules. - -- Review '@@' items [private/ excluded, update with new modules, at least - look for @@ TMP; also check the review script for any new modules]: - - etc/review | less -R - -- Identify packages that will be released (see etc/stage). They should all be - staged and built successfully, including submodule-updated build2-toolchain - and baseutils/mingw. Review stageing/0/ and staging/1/ for anything stray. - -- Update and test local builds: - - b test: build2/ bpkg/ bdep/ brep/ bbot/ libbutl/ libbpkg/ libbbot/ - b msvc-linux/ - -- Stage hello projects and test: - - cd hello - ./foreach-git pull - ./foreach-git stat - ./stage - - cd .. - etc/intro -s `pwd`/hello/repository/1/ - etc/intro -s https://hello.stage.build2.org/1 - - - Make sure all the bot builds are successful (drop build db). - -- Test bootstrap build2-toolchain using scripts/batch files (bot builds - are using makefile). Need to test build.sh, build-*.bat. Now test via - automated install files: see private/install/testing.txt for details. - -- Update NEWS files in all project that will have non-pre-release version. - -- Review documentation for (1) sample output changes and (2) still being - relevant/making sense: - - - Testscript manual (for 1, see hello/hello-testscript). - - - Install guide for (for 1 & 2). - - - Introduction for (for 1 & 2). Use intro script to get output: - - ./intro2-tldr 2>&1 | tee intro2-tldr.out - ./intro2-tour 2>&1 | tee intro2-tour.out - -- Change to final versions for all packages being released, some by hand, - some with version scripts (see etc/stage for list + msvc-linux). - - - 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). - - - Push and update all submodules in buil2-toolchain - - - Regenerate all odb & docs (in both packages and inside build2-toolchain) - - - Bootstrap then update and test local - - cd build2 - b clean - git cout build2/version.hxx build2/b-options.?xx - ./bootstrap.sh g++-6 - - cd .. - b-boot '{clean update}(libbutl/ build2/)' - - b clean: bpkg/ bdep/ brep/ bbot/ libbpkg/ libbbot/ msvc-linux/ - - Then the local test step above. - - - Cleanup staging repo: - - rm -r staging/0/* - rm -r staging/repository/1/*/ - - - Restage with -b: - - etc/stage -b - - - Check /0/ and /1/ for anything stray - - - restage hello (libstd-modules) - -- Upgrade brep on cppget.org (queue and main repo) using stage - -- Queue packages: - - - Change BUILD2_REPO in build2-toolchain build scripts to queue - - - Change build.version.stage in build2/build2/context.cxx to false. - - - Cleanup queue repo: - - rm -rf cppget.org/0/* - rm -rf cppget.org/repository/1/queue/*/ - - - Queue - - etc/stage -q -b - - - check /0/ and /1/ for anything stray - - @@ Add extra packages (cli, libcutl, mysql/mariadb). - - - Make sure bot builds are successful - -- Upgrade brep on build2.org (hello) using queue - -- Publish and test hello - - cd hello - ./foreach-git stat - ./stage -p - - cd .. - etc/intro -s https://build2.org/pkg/1/hello - - - Drop build database (package versions do not change) - - - Make sure bot builds are successful - -- Publish and test toolchain - - - Change BUILD2_REPO in build2-toolchain build script to public - - - Regenerate build2-toolchain package in cppget.org/0/ - - etc/stage -p - - @@ Remove *-queue install scripts. - - - Move packages (manually for now): - - - old/replaced/FTB packages either to legacy or delete - - - from queue to appropriate repositories (don't override existing) - - - Regenerate the repository - - cd cppget.org - git -C repository add . - git -C repository status # Review changes. - ./update - - - Disable the queue toolchain on bbots (moved packages from queue/), - delete distribution - - echo disabled | ssh build2.org tee >/dev/null \ - /var/www/download.build2.org/public/queue/toolchain.sha256 - - ssh build2.org rm -r /var/www/download.build2.org/public/queue/*/ - - - Publish everything to build2.org/cppget.org - - etc/publish - - - Make sure bot builds are successful, drop hello build database again. - - @@ First test automated install scripts. - -- Release - - - Update submodules (style/) in private/. - - - Write release notes, use placeholder for announcement URL (or guess). - Add link from the doc page. - - - Any new FAQ entries or any other updates (main page, etc)? Any new - documentation to link from the doc page? - - - Update download page. - - cat `ls -1 *.sha256` - - - Update install page. - - cat toolchain.sha256 - - - Regenerate documentation (./cli.sh) for all hosts. - - - Test locally, publish, test production - - cd private/ - ./publish --dry-run - ./publish - - - Write and send the announcement to mailing lists. - - cat `ls -1 *.sha256` - - - Remember upgrade instructions. - - - Add reply-to: header for users@ announcement. - - - Patch/verify the announcement URL in release notes, re-publish. - - - Announce on reddit and other places (see doc/ann/). - - - Commit and tag private/ and style/ - - git tag -a 0.7.0 -m "Tag version 0.7.0" && git push --follow-tags - -- Tag & Commit hello - - cd hello - ./foreach-git stat - - - commit hello/repository/ (see commit history for procedure) - - git tag -a build2-0.7.0 -m "Tag for build2 version 0.7.0" && git push --follow-tags - - -- Tag & Commit - - - commit & push cppget.org/repository/ (see commit history for procedure; - commit big chunks first, then reorder with rebase). - - - Tag and push all released packages, some by hand, some with tag scripts - (see etc/stage for list but also packages added ad hoc with etc/stage-pkg). - - @@ Use vX.Y.Z tag for packages that are bpkg/bdep-ready (i.e., have - suitable repositories.manifest if required). - - cd <proj> - - # X.Y.Z - v="$(sed -n -re 's/version: ([^ ]+)/\1/p' manifest)"; echo $v; read; \ - git tag -a $v -m "Tag version $v" && git push --follow-tags - - # vX.Y.Z - v="$(sed -n -re 's/version: ([^ ]+)/\1/p' manifest)"; echo v$v; read; \ - git tag -a v$v -m "Tag version $v" && git push --follow-tags - - For build2 projects, review tag_modules in etc/git/modules, then: - - ./tag.sh 0.7.0 - ./push.sh - -- Increment versions and open master for business - - - Change to next development versions for all released packages, some by - hand, some with version scripts (see etc/stage for list + msvc-linux). - - cd <proj> - - ~ edit manifest - - v="$(sed -n -re 's/version: ([^ ]+)/\1/p' manifest)"; echo $v; read; \ - git ci -a -m "Bump version to $v, master is open for business" && git push - - - In build2-toolchain, update all submodules (including libodb*, etc), - change BUILD2_REPO to staging. - - - Regenerate odb & cli docs everywhere (packages and build2-toolchain). - - New sequence: - - ~ rebuild ODB compiler - - @@ bdep sync -fura - @@ b hxx{version} # first lib*, then projects, then odb.sh - - - Update/test local (see early steps of this list). - - - Make symlinks for new version in baseutils (for both baseutils and mingw, - the idea is that we will start with those and maybe upgrade during - development). - - - Restage - - rm -r staging/0/* - rm -r staging/repository/1/*/ - - etc/stage -b - - - Make sure bbot builds of the new development snapshot are successful. - -- Commit etc/ - - - Restore changes to etc/git/modules - - - Change all '+ ' back to '- '. - - - Commit and tag - - git tag -a 0.7.0 -m "Tag version 0.7.0" && git push --follow-tags - -- Snapshot buildos subvolumes as buildos-0.7.0 - - btrfs subvolume snapshot buildos-3 buildos-3-0.7.0 - btrfs subvolume snapshot buildos-6 buildos-6-0.7.0 |