Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/releasing-barnowl.txt

    r1ea0249 r5f08dbe  
    1 DOING A BARNOWL RELEASE
     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
    230
    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.
     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
    642
    7 [ ] Wait a while (a week or so, or more if necessary) for any pending
    8     patches to get in.
     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
    958
    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 
    66 LOCKER 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.
     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.
Note: See TracChangeset for help on using the changeset viewer.