blob: e96ecf8215f39ddd7b7b1c9c9ca681e02599e4b0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
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.
|