Making a new release of ``grave`` ================================= - Update the release notes: 1. Review and cleanup ``doc/release/release_dev.rst``, 2. Fix code in documentation by running ``cd doc && make doctest``. 3. Make a list of merges and contributors by running ``doc/release/contribs.py ``. 4. Paste this list at the end of the ``release_dev.rst``. Scan the PR titles for highlights, deprecations, and API changes, and mention these in the relevant sections of the notes. 5. Rename to ``doc/release/release_..rst``. 6. Copy ``doc/release/release_template.rst`` to ``doc/release/release_dev.rst`` for the next release. - Commit changes. - Add the version number as a tag in git:: git tag -s [-u ] networkx-. (If you do not have a gpg key, use -m instead; it is important for Debian packaging that the tags are annotated) - Push the new meta-data to github:: git push --tags upstream master (where ``upstream`` is the name of the ``github.com:networkx/networkx`` repository.) - Review the github release page:: https://github.com/networkx/grave/releases - Publish on PyPi:: git clean -fxd python setup.py sdist --formats=zip twine upload -s dist/grave*.zip - Update documentation on the web: The documentation is kept in a separate branch: gh-pages - Wait for the Grave Travis Bot to deploy to GitHub Pages - Sync your branch with the remote repo: ``git pull``. - Copy the documentation built by Travis. Assuming you are at the top-level of the ``gh-pages`` branch:: cp -a latest . git add . ln -sfn . stable git commit -m "Add . docs" # maybe squash all the Deploy GitHub Pages commits # git rebase -i HEAD~XX where XX is the number of commits back # check you didn't break anything # diff -r latest networkx-. # you will then need to force the push so be careful! git push - Increase the version number - Update the web frontpage: The webpage is kept in a separate branch: website - Sync your branch with the remote repo: ``git pull``. If you try to ``git push`` when your branch is out of sync, it creates headaches. - Update ``_templates/sidebar_versions.html``. - Edit ``_static/docversions.js`` and commit - Push your changes to the repo. - Deploy using ``git push``. - Post release notes on mailing list. - networkx-discuss@googlegroups.com