diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2023-10-06 10:52:27 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2023-10-06 10:52:27 +0200 |
commit | 0f49809befc87c8041d1a0823087fe38619fe454 (patch) | |
tree | 792ffcaabcf6819d9f4576ac9499a2f9f5a978eb /build2/release.txt | |
parent | cc69eac1b4f48631954dde9f08c13384cc547822 (diff) |
Diffstat (limited to 'build2/release.txt')
-rw-r--r-- | build2/release.txt | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/build2/release.txt b/build2/release.txt new file mode 100644 index 0000000..e96ecf8 --- /dev/null +++ b/build2/release.txt @@ -0,0 +1,113 @@ +1. Finalize xsd and all dependencies (libxerces-c, libcutl, libxsd-frontend). + + * Review @@. + * Update NEWS files. + * Update build2 toolchain version constraints. + * Update copyright. + * Update bindist configs if necessary (e.g., generic linux config). + * CI and make sure all good. + * Publish to queue.stage.build2.org and make sure all good. + * Do manual Q&A (schemas/{citygml.org/2.0.0/, fpml.org/5.1/}). + * Push everything. + +2. Release and publish to queue.stage.build2.org to build binary packages. + + * Release BUT DON'T PUSH in the dependency order: + + - Update version constraints to previouly released final version. + + bdep release --no-open + + * Test locally (bdep test -a). + + * Publish to queue.stage.build2.org. + + * Confirm all good and binaries are built (libxerces-c, libxsd, and xsd). + + * Update and run `download` script to download and arrange source and + binary packages. + + * Build Mac OS aarch64 binaries manually (make sure have the same OS + and Xcode). + + - First install stage toolchain. + + bpkg create -d xerces-cfg cc config.cc.coptions="-Wall -O3" config.cxx.std=c++11 + cd xerces-cfg + bpkg build --configure-only libxerces-c@https://queue.stage.build2.org/1/alpha + bpkg update -v libxerces-c + bpkg test libxerces-c + bpkg -v bindist --distribution archive --recursive separate --output-root ../xerces-bindist --archive-lang-impl=cc=clang14 --archive-install-root=/usr/local config.install.relocatable=true libxerces-c + + bpkg create -d libxsd-cfg cc config.cc.coptions="-Wall -O3" config.cxx.std=c++11 + cd libxsd-cfg + bpkg build --configure-only libxsd@https://queue.stage.build2.org/1/alpha + bpkg update -v libxsd + bpkg -v bindist --distribution archive --recursive separate --output-root ../libxsd-bindist --archive-lang-impl=cc=clang14 --archive-install-root=/usr/local --archive-build-meta=macos config.install.relocatable=true libxsd + + bpkg create -d xsd-cfg cc config.cc.coptions="-Wall -O3" config.bin.lib=static "config.bin.liba.lib=shared static" + cd xsd-cfg + bpkg build --configure-only xsd@https://queue.stage.build2.org/1/alpha + bpkg update -v xsd + bpkg test xsd + bpkg -v bindist --distribution archive --recursive separate --output-root ../xsd-bindist --archive-lang-impl=cc=clang14 --archive-install-root=/usr/local --recursive=auto --archive-lang-impl=cc= config.install.relocatable=true xsd + + - Add to binary packages and generate packages.sha256: + + cd .../aarch64/ + sha256sum -b "$(ls -1 | sort)" >packages.sha256 + + * Copy packages over to download directory, make sure there is enough + disk space on host to publish. + + * Copy over (or add new) README.cli and update. + +3. Update web pages + + * Update "Compilers & Platforms" page. + + * Update "Download" page. + + * Copy over updated documentation to projects/xsd/documentation/. Review + with gitk for any unexpected differences. + + * Generate doxygen (reference and hello): + + cd libxsd/doc/ + b config.libxsd.doxygen=true + + - copy result over to documentation/cxx/tree/reference/ + - check everything looks sensible + + - copy hello example directory to documentation/.../ + + xsd cxx-tree --generate-doxygen hello.xsd + + - add hello.doxygen from old documentation + + doxygen hello.doxygen + + - clean source files, etc + - check everything looks sensible and cross-links to references work + +3. Publish and announce + + * bdep-publish all the packages and make sure queued builds are good. + + * Publish binaries and updated web pages. + + * Migrate packages from queue to public. Cleanup any betas. + + * Write release announcements and send to xsd-{users, announcements}. + + * Announce on #build2. + + * Add news entries to web pages. + +4. Finish + + * Commit web pages. + + * Commit xsd-etc. + + * Update Homebrew formula. |