summaryrefslogtreecommitdiff
path: root/release.txt
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2019-02-24 15:44:35 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2019-02-24 15:44:35 +0200
commit757787725cffc24f6c4e353fefa63bf255007457 (patch)
treecce37b4ed8b88ac549d62aafb9fc5e04263bf514 /release.txt
parent135ce62b109cca705ca784942d5ef9dfc2f803dd (diff)
Updates for 0.9.0 releasev0.9.0
Diffstat (limited to 'release.txt')
-rw-r--r--release.txt307
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