Revision 25bac9e510621853aa686ed85e62c16e87c8719d authored by maxv on 10 November 2015, 20:37:21 UTC, committed by maxv on 10 November 2015, 20:37:21 UTC
1 parent aebfb06
Raw File
release_checklist.md
# RELEASE CHECKLIST

## Development related

1. Optional, if not already done during ongoing development:
    * Pull new features/code from forks into the Dev branch.
    * Merge branches into the Dev branch.
2. Make sure, that the all the Unit tests (option '-t/--tests') run properly.
3. If not done in the branches and forks: Document changes relevant to the user in the appropriate files (markdown, PDF, IPython notebook).
4. Make sure, that the user guide Notebook runs properly.
5. Update version number in __init__.py and version.py.
6. Merge Dev branch into default (release) branch. [hg update default; hg merge Dev]
7. Set version tag in default branch. [hg tag MAJOR.MINOR]
8. Merge default branch back into Dev branch. It's not really clear, if this necessary at all. [hg update Dev; hg merge default]
9. Optional: Update version number to MAJOR.MINOR.Dev in the Dev branch to indicate that the the ongoing development in the Dev branch is newer than the latest release.


## PyPI related
1. Make sure there is an up-to-date cythonized version of `_NetworKit.pyx`. This can be achieved with `cython -3 --cplus -o networkit/_NetworKit.cpp networkit/_NetworKit.pyx `.
2. Run `python setup.py sdist upload -r test` to create the package NetworKit and upload it to the PyPI test server.[*]
3. Do a test installation with `[sudo] pip[3] install -i https://testpypi.python.org/pypi networkit [--upgrade]` (on multiple systems, if possible).
4. Upload it to the real PyPI with: `python setup.py sdist upload`

## Website related
* Write a news item.
* Update "getting started" page, if Readme.md has changed. 
* Update files (networkit.zip, PDF, user guide,...) and their links.
* Update "documentation" page and C++ and Python documentations.

## Misc
* Write a mail including release notes to the mailing list.

## .pypirc
[*] In order for the uploads to [test-]PyPI to work easily, you need an account with the appropriate rights. Then, it's also recommended to create a file named `.pypirc` in your home folder with the following content:

```
    [distutils]
        index-servers =
            pypi
            test

        [test]
        repository = https://testpypi.python.org/pypi
        username = name
        password = password

        [pypi]
        repository = https://pypi.python.org/pypi
        username = name
        password = password
```


## Website related details

### Requirements:
* Access to the NetworKit Website VM.
* Access to the NetworKit Website CMS.
* Doxygen, Sphinx and pandoc to create the documentation as well as markdown to PDF conversion.

### Workflows:
* Download the latest release [choose the latest release tag] via algohub, rename it to `networkit.zip`, upload it to your ITI account with `scp` and then from there to the NetworKit VM. Finally, replace the old file.
* The same works for the documentation. Create it locally by running `./Doc/docs/make_docs.sh` and upload the ZIP as described above. Also, don't forget to unzip it in the right folder to update the documentation linked on the website.
* To create the PDFs, you can run `./Doc/docs2.pdf` and upload them together with the UserGuide notebook as described above.
* To update the `Getting started` page on the website it should be sufficient to paste the Readme.mdown as the CMS [GetSimple] is supposed to have markdown support. If that doesn't work, use pandoc to convert the markdown to html and paste it as raw.
back to top