Skip to content

Latest commit

 

History

History
38 lines (28 loc) · 1.81 KB

development.rst

File metadata and controls

38 lines (28 loc) · 1.81 KB

Development

Note

This part is a work in progress, reach out to the maintainers if you have any questions!

We recommend you follow Kenneth Reitz folder structure guide when writing Python programs which will be under the control of the ActivityWatch organisation: http://docs.python-guide.org/en/latest/writing/structure/

Dependency graph

.. graphviz:: dependency.dot

Working with submodules

Working with submodules comes with some complexity, here are a few neat tricks to make things easier:

  • We recommend configuring git to include submodule changes in git status, you can do so with the following: git config --global status.submoduleSummary true
  • If you want the latest committed version of all submodules, use: git submodule update --recursive
  • If you want the latest master branch on all submodules, use: git submodule update --recursive --remote
  • If you want to ensured you've pushed all commits in the submodules, use: git submodule foreach 'git push'

A longer guide to git submodules can be found here.

Making a release

  1. Close milestone on GitHub if one exists.
  2. Ensure that all the tests pass: make test && make test-integration
  3. Test the latest build and check that it works correctly
  4. Write a changelog entry in docs/changelog.rst
  5. Sign the commit: git commit -a -S -m "bumped version"
  6. Create a signed tag: git tag -s v0.7.1
  7. Push the commit and tag: git push origin refs/tags/v0.7.1
  8. Create a release on GitHub
  9. Wait for the builds to finish
  10. Post about it online: Twitter, the forum, mailinglist (if major)