Changes between Version 7 and Version 8 of DevelopmentReleaseEngineering


Ignore:
Timestamp:
Oct 13, 2011, 1:03:37 PM (6 years ago)
Author:
jreed
Comment:

update wiki with steps I have been following for months. Some changes to signing/ftp procedure are significant.

Legend:

Unmodified
Added
Removed
Modified
  • DevelopmentReleaseEngineering

    v7 v8  
    11Owner: jreed
    22
    3 Date next review scheduled: February 1, 2011
     3Date next review scheduled: January 13, 2012
    44
    55This page documents the release engineering schedule and processes for development, snapshot-style releases for BIND 10. See ReleaseEngineering for the procedures for the stable production releases.
    66
    77These development releases don't go through the alpha, beta, release candidate stages of quality assurance. Basically they are just snapshots
    8 of what currently is in trunk.
     8of what currently is in master.
    99
    1010 - define schedule for freeze of "new" code development work (then to focus on reviews) and for freeze of code commits. These may be seven days before and 24 hours before respectively.
    1111
    12  - before branch make sure man pages and guide are generated and committed
     12 - every new interface, new configuration, operational change must be described in documentation
     13
     14 - make sure we don't have any tickets of "High Defect Severity" open
     15        http://bind10.isc.org/report/24
     16or sensitive
     17
     18 - make sure there are not any new autoreconf warnings
     19(TODO: automake check for this)
     20
     21 - open web-request ticket a day before public announcement to give them
     22   a heads up
     23
     24 - check if man pages are up-to-date for spec files.
     25
     26 - check that generated manuals are up-to-date.
    1327
    1428 - review open tickets, especially for the release itself
     
    1630 - check versions for individual components (like __version__  in src/bin/bind10/bind10.py.in) have been bumped if needed.
    1731
     32 - make sure bind10-messages.xml is up-to-date
     33
    1834 - check authors.bind is updated if needed
    1935
    2036 - check build results:
    21    * http://git.bind10.isc.org/~tester/builder/builder.html
    22    * http://git.bind10.isc.org/~tester/LATEST_CPPCHECK
     37   * http://bind10.isc.org/~tester/builder/builder.html
     38   * http://bind10.isc.org/~tester/LATEST_CPPCHECK
     39
     40 - real world usage tests
     41
     42 - update README as applicable
     43
     44 - make sure !ChangeLog is up-to-date and correct. Add released
     45   date to top.
     46
     47 - before branch make sure man pages and guide are generated and committed
     48
     49 - verify library versioning (TODO: automate this)
    2350
    2451 - very temporary code freeze and branching for new release.
    2552
    26  - automated testing for new tag/branch (later: daily snapshots and benchmark reports too)
     53 - let developers know freeze is over
    2754
    28  - disable features from build and from tarball for new branch that shouldn't be released (but still in trunk)
     55 - update version in configure.ac (in branch) to date of the planned release
    2956
    30  - update README as applicable
     57 - regenerate guide and messages so have correct version
    3158
    32  - make sure !ChangeLog is up-to-date and correct
     59 - make sure guide has correct version
    3360
    34  - mention release version and date at top of !ChangeLog
     61 - make sure bind10-messages.html is up-to-date and has correct version.
    3562
    36  - write announcement email, not committed to tree. This includes part of !ChangeLog.
     63 - disable features from build and from tarball for new branch that shouldn't be released (but still in master)
    3764
    38  - update version in configure.ac
     65 - automated testing for new tag/branch by adding to top of BUILD_QUEUE (later: daily snapshots and benchmark reports too)
    3966
    4067 - build tarball by running distcheck (within the unmodified branch)
    4168
    42  - script to untar tarball, build, run tests, and run run_bind10.sh
     69 - write announcement email, not committed to tree. This includes part of !ChangeLog. Send draft to a couple reviewers.
     70
     71 - script to untar tarball, build, run tests, and run and verify run_bind10.sh
    4372
    4473 - make sure that "make clean" and "make distclean" work correctly (note that distcheck target does  the clean testing too)
    4574
    46  - check with "svn status" -- script this
     75 - check with "git status" that no files are left around (TODO: automate this)
    4776
    48  - make sure runs from run_ in source tree
     77 - make sure runs from run_ in source tree;
     78        use make systest for some of this
    4979
    5080 - copy new tarball to personal public_html for quick testing by others on team (point to it in jabber and bind10-dev)
     
    5686 - verify tarball doesn't have junk files in it (like .svn or .o$ or others)
    5787
     88 - verify tarball has correct versions and generated html guide and man pages
     89
    5890 - test running the system with automated scripts
    5991
    6092 - verify API installation by compiling and testing outside code (like host outside of tree)
    6193
    62  - send request to signers address for the official signatures. This request should be signed by release engineer's personal pgp key, and should contain sha256 hash of the file(s).
     94 - upload file to bikeshed for PGP signer
     95
     96 - send request to signers address for the official PGP signatures.
     97   It should contain sha256 hash of the file(s).
     98
     99 (Note: This may take over 15 hours.)
    63100
    64101 - verify signatures (after received)
    65102
    66  - make new directory on and upload files (including .asc signatures and announcement) to official ISC ftp server
     103 - close the RT bugs ticket used for the signing request
     104
     105 - copy reviewed announcement to the release directory on bikeshed
     106
     107 - open OPS ticket to get FTP files copied over to FTP server:
     108/ftp/isc/bind10/devel-${VERSION}
     109So it is at
     110ftp://ftp.isc.org/isc/bind10/devel-$VERSION/bind10-devel-$VERSION.tar.gz
     111
     112(NOTE: also make sure symlink is in place.)
     113
     114 - once FTP files in place, test ftp download
    67115
    68116 - check announcement email to make sure its URLs work and test ftp download
     117   and verify PGP signature(s).
    69118
    70  - upload updated guide (HTML and PDF) and HTML-ized manual pages to BIND 10 web server
     119 - upload updated guide (HTML, PDF, TXT) and HTML-ized manual pages to BIND 10 web server
    71120
    72  - upload the new generated API docs (doxygen and pydoc documentation) to the BIND 10 web server
     121 - upload generated API docs (doxygen and pydoc documentation) to the BIND 10 web server
    73122
    74  - email webmaster (web-request) regarding website content and new releases; point to URL and provide announcement
     123 - email webmaster (web-request using the ticket) regarding website content and new releases; point to URL and provide announcement.
    75124
    76125 - sign announcement
    77126
    78  - send signed announcement to bind10-announce, bind10-users, bf-announce, and bind-announce. (Also send to bind10-dev but not the official announcement)
     127 - send signed announcement to bind10-announce, bf-announce, and bind-announce.
     128   (Also notify bind10-dev and bind10-users but not the official announcement)
     129
     130 - blog entry about the release
    79131
    80132 - update the internal release status wiki page.
     
    82134 - update public wiki with new release URLs and version number.
    83135
    84  - move the branch in subversion to tags when when finished editing.
     136 - tag the branch in git repository when finished editing.
     137
     138 - update version in master's configure.ac
    85139
    86140(Note that this page doesn't mention all the specific scripts and commands jreed currently uses.)