ReleaseProcess: Difference between revisions

From GNU MediaGoblin Wiki
Jump to navigation Jump to search
No edit summary
(A tip to run the maketarball script in a virtualenv)
Line 28: Line 28:
# Tag: {{Cmd|git tag -a vX.Y.Z}} (consider {{Cmd|--sign}} to create a signed tag).
# Tag: {{Cmd|git tag -a vX.Y.Z}} (consider {{Cmd|--sign}} to create a signed tag).
# Push the tag to gitorious: {{Cmd|git push origin vX.Y.Z}}
# Push the tag to gitorious: {{Cmd|git push origin vX.Y.Z}}
# Build the tarfile. {{Cmd|./devtools/maketarball.sh -r vX.Y.Z}}
# Build the tarfile. {{Cmd|./devtools/maketarball.sh -r vX.Y.Z}} (Note, you may have to do this in a virtualenv... {{Cmd|source bin/activate}} before running)
# Push the tarball to the web-site: add tarball to <tt>site/static/download/</tt> directory in mediagoblin-website repository and then push the site live
# Push the tarball to the web-site: add tarball to <tt>site/static/download/</tt> directory in mediagoblin-website repository and then push the site live
# Update on PYPI - {{Cmd|./bin/python setup.py register sdist bdist_egg upload}}
# Update on PYPI - {{Cmd|./bin/python setup.py register sdist bdist_egg upload}}

Revision as of 23:10, 11 March 2013

Steps to release

Here's the list of steps to do a release.

Technical

Pre-release checklist:

  1. Update AUTHORS file
    1. check git commits
    2. ask on mailing list
    3. other ways?
  2. Update documentation
    1. update README
    2. update docs/source/siteadmin/relnotes.rst
    3. update install guide
    4. other things?

Release checklist:

  1. Verify with others on IRC that we're good to go.
  2. Do a git fetch and make sure you have the latest code.
  3. Do a ./devtools/update_translations.sh and make sure you have the latest translations.
  4. Do a ./devtools/maketarball.sh -dr HEAD to make sure building the docs and tarball works. If any errors, proceed no further!
  5. Do a git clean -fdx to wipe all non-repository files out (THIS DELETES EVERYTHING), go through hacking howto to reinstall.
  6. Run the unit tests: ./runtests.sh If any tests fail, proceed no further!
  7. Update version numbers in mediaboglin/_version.py
  8. Tag: git tag -a vX.Y.Z (consider --sign to create a signed tag).
  9. Push the tag to gitorious: git push origin vX.Y.Z
  10. Build the tarfile. ./devtools/maketarball.sh -r vX.Y.Z (Note, you may have to do this in a virtualenv... source bin/activate before running)
  11. Push the tarball to the web-site: add tarball to site/static/download/ directory in mediagoblin-website repository and then push the site live
  12. Update on PYPI - ./bin/python setup.py register sdist bdist_egg upload


Promotional

  1. Blog post
    • Chris sends Deb technical highlights
    • Deb drafts post
    • Chris adds screenshots/links
    • We send the post to press contacts
    • Two days later we publish everywhere (see below)


Places we Update

    • on identi.ca
    • on diaspora
    • on Facebook (Deb)
    • on Twitter
    • our mailing list, encouraging people to fave, like, repost, etc.
    • reddit
    • digg
    • the GNU mailing list, aka info-gnu@gnu.org "plain text is greatly preferred" omit screenshots or replace with links.


Press Contacts

    • write to Zonker
    • LinuxJournal
    • LWN
    • OpenSource.com
    • see if the FSF will blog or announce

Post release process

  1. change version number to the next one + -dev in files listed above
  2. add new milestone to Trac