summaryrefslogtreecommitdiff
path: root/release.txt
blob: c8138175de6dd214f41df00a0a2f7ca8fb86627e (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
TODO
====

@@ Run tests in each project/package?
@@ Local Clang test is broken and disabled.
@@ Release date update in man page generation




Setup
=====

- Set passwordless sudo, logins to freebsd, cppget1

- Make symlinks to development b, bpkg in /usr/local/bin/, used as the latest
  toolchain.

- Boot cppget1, freebsd VMs, make sure data/time is correct.

- Build new prerequisites (if any) on local, freebsd (install to /usr/local).


Prelude
=======

- Copy new/updated prerequisites into build2-X.Y/

- Need to update submodules?

- Need to regenerate ODB files, CLI documentation?

- 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).

- Run bpkg tests, valgrind, remote (publish)

Procession
==========

- Generate distribution (use -t for toolchain-only, without brep)

  etc/dist 2>&1 | tee dist.log

- Stage packages to cppget1 host

  etc/stage

- Determine the earliest supported toolchain (see requires: in manifests),
  update ./test

- Test

  etc/test 2>&1 | tee test.log
  grep -i warning test.log

- Upgrade brep on cppget1 (using pkg.cppget1), verify works

- Publish to production (build2.org/cppget.org)

  etc/publish

- Test production and save a copy of toolchain in etc1/install/X.Y.Z
  
  etc/install -t -i "etc1/install/`cat build2-toolchain/version`" \
    https://download.build2.org/0.1/build2-toolchain-0.1.0.tar.gz \
    https://pkg.cppget.org/1/alpha

- Upgrade brep on cppget.org (using pkg.cppget.org), verify works

- Tag

  etc/tag
  ./push.sh

- Commit and push cppget.org


Postlude
========

- Increment and open schema versions. Maybe not. Maybe we should only do that
  when there is a model change.

- Increment project versions