Skip to content

Latest commit

 

History

History
81 lines (64 loc) · 2.58 KB

howto-prepare-release.md

File metadata and controls

81 lines (64 loc) · 2.58 KB

s## Steps in preparing a jpylyzer release

Before you start

Some steps in the jpylyzer release process use Docker. In order to run Docker as a non-root user, it is helpful to create a Unix docker group. Steps (see also the more detailed discussion here):

  1. Create the docker group:
    sudo groupadd docker
    
  2. Add the current user to the group:
    sudo usermod -aG docker $USER
    
  3. Then log out and then log back in for the changes to take effect, or run the following command:
    newgrp docker
    
  4. Verify that everything works by running the following test:
    docker run hello-world
    

Jpylyzer release steps

  1. Make necessary changes to the code.

  2. Update version number in jpylyzer.py.

  3. In case of changes to command-line interface, update jpylyzer.pod file in the Debian folder.

  4. Create new entry in changelog using:

    dch -i
    

    then manually update the version number, and create list of changes. Also make sure the e-mail address is a valid e-mail address.

  5. Update User Manual if necessary and export the Markdown file to HTML. See instructions here.

  6. Commit all changes and push to the master branch.

  7. Add tag:

    git tag -a 1.x.x -m "release that fixes everything"
    
  8. Push tags:

    git push --tags
    
  9. Create and upload PyPi packages by running:

    ./docker-package-pypi.sh
    

    You'll need a .pypirc in your home directory with suitable credentials to upload to the package via twine.

  10. Build Windows binaries by running:

    ./docker-package-win.sh
    
  11. Build Debian packages for Linux by running:

    ./docker-package.sh debian:stretch
    
  12. Go to Latest Release and click on the Edit button.

  13. Upload Linux/Windows packages to the release by dragging them to the Attach Binaries field at the bottom.

  14. Website: update binVersion in _config.yml (this updates the links to all packages to the correct version).

  15. Website: write a short release note in the _posts directory.

  16. Test website by running:

    jekyll serve
    

    or checkout the following to use a Docker container that reproduces authentic GitHub pages rendering.

  17. Check website in browser at the following address:

    http://127.0.0.1:4000/

  18. Commit changes to website and push to branch gh-pages.

  19. Spread the word!