If you have an idea or feature request please open an issue, even if you don't have time to contribute!
Note: This guide assumes you have a working Python installation (most versions are supported) and have the Python Package Installer available in the current user's $PATH.
To get started, fork this repository on GitHub and clone a working copy for development:
$ git clone git@github.com:YOUR-USERNAME/vimwiki-cli.git
Once cloned, change the directory to your working copy, create a new virtual environment, and activate:
$ python -m venv venv
$ source venv/bin/activate
Note: If building for Python 2.7, the
virtualenvpackage should be used instead, which can be installed locally by issuingpip install --user virtualenv.
Dependencies are managed via setuptools; to set up the environment for
development, issue:
$ python -m pip install -e '.[test]'
Once you are finished making changes, be sure to check the output of
pycodestyle and pytest by issuing:
$ python -m pycodestyle
$ python -m pytest
At a minimum, there should be no test regressions and additional tests should be
added for new functionality. If user-facing changes are introduced, be sure add
an entry to the Unreleased section in CHANGELOG.md.
Finally, commit your changes and create a pull request against the master
branch for review.
Making new releases is automated by GitHub Actions. Releases should only be
created from the master branch; as such master should be passing tests at
all times.
To make a new release, follow these steps:
-
Install release dependencies by issuing:
$ python -m pip install -e '.[release]' -
Increment the version number by issuing:
$ bump2version <major|minor|patch> -
Create a new section in CHANGELOG.md for the new version, and move items from
Unreleasedto this section. Links should also be updated to point to the correct tags for comparison. -
Verify release notes by issuing:
$ python scripts/release_notes.py v<version> -
Commit outstanding changes by issuing:
$ git commit -a -m 'Release v<version>' -
Push changes to the remote repository and verify the results of the CI workflow:
$ git push origin master -
Create a release tag by issuing:
$ git tag -a -m 'Release v<version>' v<version> -
Push the release tag to the remote repository and verify the results of the Release workflow:
$ git push origin --tags
By contributing to this repository, you agree that your contributions will be licensed under its Simplified BSD License.