wiki:ReleaseGuidelines

Version 20 (modified by slavazanko, 12 years ago) (diff)

--

Release Guidelines

All next steps described at this page should be mirrored in release tickets step-by-step

Search previously created ticket with task about next version release (create if ticket not found) and follow by steps while preparing for the release:

  • for stable: search tickets by 'stable-candidate' keyword and apply commits to stable branch from all found tickets;
  • download translations from Transifex.net by command tx pull --all (see before: how to set up local tx-repository)
  • store translations in gir-repo by commands:
    cp -f $TX_REPO/<master|stable>/*.po $GIT_REPO/po
    cd $GIT_REPO/po
    ./strip-location.sh *.po
    git add *.po
    git commit -s -m 'Updated translations from Transifex'
    git push origin <master|*-stable>
    
  • Create new NEWS wiki-page for next version with empty template. Template may be copied from current NEWS wiki-page (without lists of tasks and bugreports);
  • Add content of current NEWS wiki-page to the doc/NEWS file in GIT-repo;
  • create new tag in git by command (see before: how to set up your gpg-key for signing releases?)
    git tag -s <version>
    git push origin <version>
    
  • new version in Trac;
  • new milestone in Trac (no needed for stable branch);
  • create tar.(bz2|xz) package files:
     mkdir dist; cd dist; ../configure && make dist-bzip2 && make dist-xz
    
  • make checksums for archives:
    sha256sum mc-*tar.* >sha256.sum
    
  • upload source packages and checksums to the special upload area;
  • developers should download tarballs, verify checksums, compile and locally install. If everything is ok than developers keep votes in ticket;
  • upload source packages and checksums to http://www.midnight-commander.org/downloads;
  • update Wiki start page with latest release number;
  • write an announcement: list user visible changes (bugs and features);
  • close current milestone (no needed for stable branch);
  • create new ticket (type=task, component=adm) for the next release;
  • close ticket for release.

Notes:

  • Cleanup branch should be named as XXXX_cleanup; where XXXX it's a number of current release ticket.
  • The cleanup branch should be created by demand and should be voted and merged to main branch ASAP. Don't keep the cleanup branch in development stage longer that this needed.
  • Activity around cleanup branch should occur in release ticket.
  • Cleanup branch should be deleted after merging to main branch. Cleanup branch may be recreated with same name in any count of times.
  • Cleanup branch shouldn't be merged to main branch in a week before release