ReleaseProcess: Difference between revisions

From GNU MediaGoblin Wiki
Jump to navigation Jump to search
(tweak formatting; add "add new milestone")
(→‎Steps to release: Suggest contacting the EasyDeployments contributors)
 
(13 intermediate revisions by 5 users not shown)
Line 4: Line 4:


'''Technical'''
'''Technical'''

Pre-release checklist:

# Update <tt>AUTHORS</tt> file
## check git commits
## ask on mailing list
## other ways?
# Update documentation
## update <tt>README</tt>
## update <tt>docs/source/siteadmin/relnotes.rst</tt>
## update install guide
## other things?

Release checklist:


# Verify with others on IRC that we're good to go.
# Verify with others on IRC that we're good to go.
Line 9: Line 23:
# Do a {{Cmd|./devtools/update_translations.sh}} and make sure you have the latest [[Translations|translations]].
# Do a {{Cmd|./devtools/update_translations.sh}} and make sure you have the latest [[Translations|translations]].
# Do a {{Cmd|./devtools/maketarball.sh -dr HEAD}} to make sure building the docs and tarball works. If any errors, proceed no further!
# Do a {{Cmd|./devtools/maketarball.sh -dr HEAD}} to make sure building the docs and tarball works. If any errors, proceed no further!
# Do a {{Cmd|git clean -fdx}} to wipe all non-repository files out (THIS DELETES EVERYTHING), go through hacking howto to reinstall.
# Run the unit tests: {{Cmd|./runtests.sh}} If any tests fail, proceed no further!
# Run the unit tests: {{Cmd|./runtests.sh}} If any tests fail, proceed no further!
# Update version numbers in these files:
# Update version numbers in <tt>mediaboglin/_version.py</tt>
# Tag: {{Cmd|git tag -a vX.Y.Z}} (consider {{Cmd|--sign}} to create a signed tag).
#* mediaboglin/_version.py
# Push the tag to origin: {{Cmd|git push origin vX.Y.Z}}
#* docs/source/conf.py
# Update stable branch to current release and push to origin
# Tag: {{Cmd|git tag -a 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 - '''FIXME - need to set this up'''
# Update on PYPI - {{Cmd|./bin/python setup.py sdist bdist_egg upload}}


EasyDeployments contributions ''(a suggestion made by JF)''

# Contact the EasyDeployments contributors, asking them to update, e.g. by filing issues at:
## https://notabug.org/dachary/mediagoblin-docker/issues
## https://github.com/jparyani/mediagoblin/issues
## (check the Wiki page to see if this list is still accurate)


'''Promotional'''
'''Promotional'''
Line 48: Line 69:
#* OpenSource.com
#* OpenSource.com
#* see if the FSF will blog or announce
#* see if the FSF will blog or announce



== Post release process ==
== Post release process ==

Latest revision as of 16:01, 21 December 2016

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 origin: git push origin vX.Y.Z
  10. Update stable branch to current release and push to origin
  11. 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)
  12. Push the tarball to the web-site: add tarball to site/static/download/ directory in mediagoblin-website repository and then push the site live
  13. Update on PYPI - ./bin/python setup.py sdist bdist_egg upload

EasyDeployments contributions (a suggestion made by JF)

  1. Contact the EasyDeployments contributors, asking them to update, e.g. by filing issues at:
    1. https://notabug.org/dachary/mediagoblin-docker/issues
    2. https://github.com/jparyani/mediagoblin/issues
    3. (check the Wiki page to see if this list is still accurate)

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