summaryrefslogtreecommitdiff
path: root/build2/release.txt
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-10-06 10:52:27 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-10-06 10:52:27 +0200
commit0f49809befc87c8041d1a0823087fe38619fe454 (patch)
tree792ffcaabcf6819d9f4576ac9499a2f9f5a978eb /build2/release.txt
parentcc69eac1b4f48631954dde9f08c13384cc547822 (diff)
Updates for 4.2.0 releaseHEADmaster
Diffstat (limited to 'build2/release.txt')
-rw-r--r--build2/release.txt113
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.