From Request Tracker Wiki
Revision as of 19:56, 12 August 2013 by (talk) (→‎• Generate docs: Update option name)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

• Create releng branch

   git checkout -b 4.0.14-releng 4.0-trunk

• If necessary, git cherry-pick -x sha1 to pull changes from trunk to branch

• Make sure translations are uploaded to Rosetta with enough time to be translated

• Import translations

• Check if jsmin should be updated on

• If 3.8, update for the correct version

  perl -pi -e s/3.8.HEAD/3.8.18/
  git commit -m 'Bump version for 3.8.18'

• Tag the release

  git tag -sm 'release 4.0.14' rt-4.0.14

• Make the archive

   rm -rf autom4te.cache
   make snapshot

This will build you a snapshot tarball, GPG sign it and give you SHA1 sums. On 3.8, you'll need to sign and generate SHA1 sums yourself:

   gpg --detach-sign rt-3.8.18.tar.gz
   sha1sum rt-3.8.18.tar.gz*

Do not skip reconfiguring, as it ensures you have a fresh build and Makefile. This is especially important if you're releasing 4.0 and 3.8 at the same time from the same clone (i.e. rolling security releases).

• Sanity check tarball and signature

This should include running tests from inside the tarball (with MySQL or Pg), verifying the embedded version (esp. on 3.8), checking that RT starts up on a fresh database, and checking the signature.

It's nice to let other folks kick the tires as well.

• Upload it

   chmod a+rx rt-4.0.14*
   scp -rvp rt-4.0.14.tar.gz*
   scp -rvp rt-4.0.14-third-party-source.tar.gz*

When making a non-developer release, files live in pub/rt/release and you need to make sure to update the rt.tar.gz symlink:

   ssh ln -svf /opt/web/hosted/{rt-4.0.14,rt}.tar.gz

As soon as you upload a new version into pub/rt/release/, it will be displayed on the corporate site's front page and RT product page.

Developer releases such as RCs go in pub/rt/devel/.

• Generate docs

From inside a git clone on at least 4.0-trunk:

devel/tools/rt-static-docs --source rt-X.Y.Z.tar.gz \
                           --to /path/to/bestpracticalsite/web/static/rt/docs/X.Y.Z

Commit the changes to the bestpracticalsite repo.

Diff with previous version docs to check that nothing horrible changed.

• Update release notes in repo

       rsync -av --delete release-notes/[1-9].*.{release,changes} \

Commit the changes to the bestpracticalsite repo.

• Pull live with updates

See checkmarkable.

• Cleanup and preserve history

For stable RT releases after 3.8:

   git checkout 4.0-trunk
   git merge --no-ff 4.0.14-releng

Replace 4.0-trunk with the appropriate trunk branch (e.g. master, 4.2-trunk, etc).

For RT 3.8:

   git checkout 3.8-trunk
   git merge --no-commit --no-ff 3.8.18-releng
   git checkout HEAD --
   git commit
       Note in message that you undid the version bump from the branch