ReleaseProcess: Difference between revisions
Jump to navigation
Jump to search
(added pypi, fixing version numbers and announcement steps) |
Julianfoad (talk | contribs) (→Steps to release: Suggest contacting the EasyDeployments contributors) |
||
(25 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
== Steps to release == |
|||
= Release Process = |
|||
Here's the list of steps to do a release. |
Here's the list of steps to do a release. |
||
'''Technical''' |
|||
'''1. verify with others on IRC that we're good to go''' |
|||
Pre-release checklist: |
|||
# Update <tt>AUTHORS</tt> file |
|||
'''2. do a <tt>git fetch</tt> and make sure you have the latest code''' |
|||
## 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. |
|||
'''3. run the unit tests:''' |
|||
# Do a {{Cmd|git fetch}} and make sure you have the latest code. |
|||
# 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|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! |
|||
# 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). |
|||
# Push the tag to origin: {{Cmd|git push origin vX.Y.Z}} |
|||
# Update stable branch to current release and push to origin |
|||
# 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 |
|||
# Update on PYPI - {{Cmd|./bin/python setup.py sdist bdist_egg upload}} |
|||
EasyDeployments contributions ''(a suggestion made by JF)'' |
|||
<pre> |
|||
./runtests.sh |
|||
</pre> |
|||
# Contact the EasyDeployments contributors, asking them to update, e.g. by filing issues at: |
|||
If any tests fail, proceed no further! |
|||
## 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''' |
|||
# Blog post |
|||
'''4. update version numbers''' |
|||
#* 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) |
|||
# setup.py |
|||
# docs/conf.py |
|||
'''Places we Update''' |
|||
#* on identi.ca |
|||
'''5. tag''' |
|||
#* 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. |
|||
<pre> |
|||
git tag -a vX.Y.Z |
|||
</pre> |
|||
'''Press Contacts''' |
|||
#* write to Zonker |
|||
'''6. generate documentation''' |
|||
#* LinuxJournal |
|||
#* LWN |
|||
#* OpenSource.com |
|||
#* see if the FSF will blog or announce |
|||
== Post release process == |
|||
FIXME - this step needs more work |
|||
# change version number to the next one + <code>-dev</code> in files listed above |
|||
<pre> |
|||
# add new milestone to Trac |
|||
./generatedocs.sh |
|||
</pre> |
|||
'''7. build the tarfile''' |
|||
FIXME - this step needs to incorporate the generated docs above; probably need to add an optional argument to maketarball.sh that takes a directory of stuff to add to the tarball after it's been created. |
|||
<pre> |
|||
./maketarball.sh <TAG> |
|||
</pre> |
|||
'''8. push the tarball to the site''' |
|||
FIXME - we need to set this up |
|||
'''9. update PYPI''' |
|||
FIXME - need instructions, accounts, etc |
|||
'''10. update version numbers in git''' |
|||
# setup.py |
|||
# docs/conf.py |
|||
'''11. announce the release''' |
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:
- Update AUTHORS file
- check git commits
- ask on mailing list
- other ways?
- Update documentation
- update README
- update docs/source/siteadmin/relnotes.rst
- update install guide
- other things?
Release checklist:
- Verify with others on IRC that we're good to go.
- Do a git fetch and make sure you have the latest code.
- Do a ./devtools/update_translations.sh and make sure you have the latest translations.
- Do a ./devtools/maketarball.sh -dr HEAD to make sure building the docs and tarball works. If any errors, proceed no further!
- Do a git clean -fdx to wipe all non-repository files out (THIS DELETES EVERYTHING), go through hacking howto to reinstall.
- Run the unit tests: ./runtests.sh If any tests fail, proceed no further!
- Update version numbers in mediaboglin/_version.py
- Tag: git tag -a vX.Y.Z (consider --sign to create a signed tag).
- Push the tag to origin: git push origin vX.Y.Z
- Update stable branch to current release and push to origin
- 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)
- Push the tarball to the web-site: add tarball to site/static/download/ directory in mediagoblin-website repository and then push the site live
- Update on PYPI - ./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
- 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.
- 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
- change version number to the next one +
-dev
in files listed above - add new milestone to Trac