Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/releasing-barnowl.txt

    r5f08dbe r1ea0249  
    1 -*- mode: org *-
    2 * DOING A BARNOWL RELEASE
    3   - [ ] Send mail to barnowl-dev indicating that a release is
    4         happening soon, and soliciting any improvements that
    5         developers want included in the release.
    6   - [ ] Wait a while (a week or so, or more if necessary) for any
    7         pending patches to get in.
    8   - [ ] Prepare the -rc commit
    9    - [ ] Run ./scripts/add-changelog NEW-VERSION PREV-TAG..HEAD
    10    - [ ] Edit ChangeLog to combine and filter entries
    11    - [ ] Edit configure.ac to bump the version to 1.Nrc1
    12   - [ ] Commit with message 'BarnOwl 1.Nrc1'; don't push until after
    13         builds all succeed
    14   - [ ] Run scripts/do-release with -f (so it won't complain about
    15         missing changelog), makes a tarball
    16   - [ ] Do a locker build (See DOING A LOCKER BUILD)
    17   - [ ] Update configure.ac on master to bump the version to 1.(N+1)dev
    18   - [ ] Push git git:
    19    - [ ] The RC commit
    20    - [ ] The configure.ac change on master
    21    - [ ] A release-1.N branch pointing at the RC commit
    22   - [ ] Copy tarball into /mit/barnowl/web_scripts/dist
    23   - [ ] Send mail announcing the RC to barnowl-dev@mit.edu
    24   - [ ] Wait 1-2 weeks, collect any bug reports
    25   - [ ] Fix any reported bugs on master
    26   - [ ] Cherry-pick/backport appropriate fixes from master onto
    27         release-1.N
    28   - [ ] If there have been many or large bugfixes, repeat the process
    29         for barnowl 1.Nrc2
     1DOING A BARNOWL RELEASE
    302
    31 * DOING THE ACTUAL RELEASE
    32   - [ ] Update the changelog and configure.ac for barnowl 1.N
    33   - [ ] run ./scripts/do-release
    34   - [ ] Do the locker build
    35   - [ ] Push the release tag
    36   - [ ] Write up release notes
    37         (I usually use the previous release's email as a template)
    38   - [ ] Update the website
    39    - [ ] Add the line that `do-release` printed to the changelog on the home page
    40    - [ ] Add your release notes as /release-notes/1.N
    41   - [ ] Send the release notes to barnowl-users@mit.edu
     3[ ] Send mail to barnowl-dev indicating that a release is happening
     4    soon, and soliciting any improvements that developers want
     5    included in the release.
    426
    43 * DOING A LOCKER BUILD
    44   - [ ] Copy the tarball to build@nelhage.com
    45   - [ ] ssh to build@nelhage.com and kinit
    46   - [ ] On build@nelhage.com, run barnowl-build-all TARBALL.
    47         This script does builds for all Debathena platforms using chroots
    48         on nelhage.com, and ssh's to Athena 9 machines to do the two
    49         Athena 9 builds.
    50   - [ ] Sanity-check the builds
    51    - [ ] Do cursory testing on debathena platforms and both athena9s.
    52    - [ ] chroots on nelhage.com also useful
    53   - [ ] Update symlinks with locker-update script;
    54         - locker-update [-b] [-n] VERSION
    55         - e.g. locker-update -b -n barnowl-1.6rc1
    56    - [ ] Use -b to update the barnowl-beta name
    57    - [ ] Use -n first for dry-run
     7[ ] Wait a while (a week or so, or more if necessary) for any pending
     8    patches to get in.
    589
    59 * LOCKER LAYOUT
    60   - builds/barnowl-VERSION contains the arch-independent files by
    61     version
    62   - arch/SYSNAME/bin/barnowl-VERSION is the actual binary
    63   - arch/SYSNAME/bin/barnowl is a symlink to ../../common/bin/barnowl
    64     (wrapper script runs barnowl.real). .../barnowl.real is a symlink
    65     to the latest version.
    66   - zcrypt is also installed with a versioned name, but currently
    67     barnowl-N will not run zcrypt-N, so we can't change that interface
    68     at all.
     10[ ] Prepare the -rc commit
     11
     12 [ ] Run ./scripts/add-changelog NEW-VERSION PREV-TAG..HEAD
     13
     14 [ ] Edit ChangeLog to combine and filter entries
     15
     16 [ ] Edit configure.ac to bump the version to 1.Nrc1
     17
     18[ ] Commit with message 'BarnOwl 1.Nrc1'; don't push until after
     19    builds all succeed
     20
     21[ ] Run scripts/do-release with -f (so it won't complain about missing
     22    changelog), makes a tarball
     23
     24[ ] Make all the builds
     25 
     26 [ ] On build@nelhage.com, run barnowl-build-all TARBALL to build for
     27     everything with chroots, doesn't do athena 9 builds. Builds into
     28     locker parellel to all other versions.
     29
     30 [ ] Do two athena9 builds: solaris and linux, usually use multics (or
     31     sun.dialup) for the solaris build, oliver for linux athena9
     32
     33  [ ] Remember to add gnu; add barnowl
     34
     35  [ ] eval `barnowl-perl-config` to include the perl modules in the
     36      barnowl locker
     37
     38  [ ] Run scripts/locker-build TARBALL (barnowl-build-all loops over
     39      all of them in schroots). It overrides existing one.
     40
     41[ ] Sanity-check the builds
     42
     43 [ ] Do cursory testing on debathena platforms and both athena9s.
     44
     45 [ ] chroots on nelhage.com also useful
     46
     47[ ] Update symlinks with locker-update script;
     48
     49      locker-update [-b] [-n] VERSION
     50
     51    e.g. locker-update -b -n barnowl-1.6rc1
     52 
     53 [ ] -b for the beta
     54
     55 [ ] -n first for dry-run
     56
     57[ ] Push the RC commit
     58
     59[ ] Copy tarball into /mit/barnowl/web_scripts/dist
     60
     61[ ] Send mail (rcs to barnowl-dev@, release to barnowl-users@)
     62
     63[ ] Make an actual release about a week after the RC
     64
     65
     66LOCKER LAYOUT
     67
     68* builds/barnowl-VERSION contains the arch-independent files by
     69  version
     70
     71* arch/SYSNAME/bin/barnowl-VERSION is the actual binary
     72
     73* arch/SYSNAME/bin/barnowl is a symlink to ../../common/bin/barnowl
     74  (wrapper script runs barnowl.real). .../barnowl.real is a symlink to
     75  the latest version.
     76
     77* zcrypt is also installed with a versioned name, but currently
     78  barnowl-N will not run zcrypt-N, so we can't change that interface
     79  at all.
Note: See TracChangeset for help on using the changeset viewer.