2021-04-18 14:15:17 -07:00
|
|
|
# Contributing
|
|
|
|
|
2021-05-06 18:03:47 -07:00
|
|
|
If you have an idea or feature request please open an [issue][1], even if you
|
|
|
|
don't have time to contribute!
|
2021-04-18 14:15:17 -07:00
|
|
|
|
|
|
|
## Making Changes
|
|
|
|
|
|
|
|
> **Note**: This guide assumes you have a working Python installation (most
|
|
|
|
> versions are supported) and have the Python Package Installer available in
|
2021-05-06 18:03:47 -07:00
|
|
|
> your $PATH.
|
2021-04-18 14:15:17 -07:00
|
|
|
|
2021-05-06 18:03:47 -07:00
|
|
|
To get started, [fork][2] this repository on GitHub and clone a working copy for
|
2021-04-18 14:15:17 -07:00
|
|
|
development:
|
|
|
|
|
|
|
|
$ git clone git@github.com:YOUR-USERNAME/vimwiki-cli.git
|
|
|
|
|
|
|
|
Once cloned, change the directory to your working copy, create a new virtualenv,
|
|
|
|
and activate the environment:
|
|
|
|
|
|
|
|
$ virtualenv venv
|
|
|
|
$ source venv/bin/activate
|
|
|
|
|
2021-05-06 18:03:47 -07:00
|
|
|
> **Note**: If the `virtualenv` package is not available, it can be installed
|
2021-04-18 14:15:17 -07:00
|
|
|
> locally by issuing `pip install --user virtualenv`.
|
|
|
|
|
|
|
|
Dependencies are managed via `setuptools`; to set up the environment for
|
|
|
|
development, issue:
|
|
|
|
|
|
|
|
$ pip install -e ".[test]"
|
|
|
|
|
|
|
|
Once you are finished making changes, be sure to check the output of
|
|
|
|
`pycodestyle` and `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
|
2021-05-06 18:03:47 -07:00
|
|
|
[CHANGELOG.md].
|
2021-04-18 14:15:17 -07:00
|
|
|
|
2021-05-06 18:03:47 -07:00
|
|
|
With that out of the way, you may now commit your changes and create a
|
|
|
|
[pull request][3] against the `master` branch for review!
|
2021-04-18 14:15:17 -07:00
|
|
|
|
|
|
|
## Making New Releases
|
|
|
|
|
|
|
|
Making new releases is automated by the Travis CI deployment pipeline. 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:
|
|
|
|
|
2021-05-06 18:03:47 -07:00
|
|
|
1. Install deploy dependencies by issuing `pip install -e ".[deploy]"`.
|
2021-04-18 14:15:17 -07:00
|
|
|
2. Verify `pycodestyle` and `pytest` are passing locally.
|
|
|
|
3. Increment the version number by issuing `bump2version <major|minor|patch>`.
|
|
|
|
4. Create a new section in [CHANGELOG.md] for the new version, and move items
|
|
|
|
from `Unreleased` to this section. Links should also be updated to point to
|
2021-05-06 18:03:47 -07:00
|
|
|
the correct tags for comparison.
|
|
|
|
5. Verify release notes by issuing `scripts/release_notes.py v<version>`.
|
2021-04-18 14:15:17 -07:00
|
|
|
6. Commit changes by issuing `git commit -a -m "Release v<version>"`.
|
|
|
|
7. Create a release tag by issuing `git tag -a -m "Release v<version>"
|
|
|
|
v<version>`.
|
|
|
|
8. Push changes to `master` by issuing `git push origin master --tags`.
|
|
|
|
9. Verify Travis CI deploys successfully to PyPI and GitHub.
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
By contributing to this repository, you agree that your contributions will be
|
|
|
|
licensed under its Simplified BSD License.
|
|
|
|
|
2021-05-06 18:03:47 -07:00
|
|
|
[1]: https://github.com/sstallion/vimwiki-cli/issues
|
|
|
|
[2]: https://docs.github.com/en/github/getting-started-with-github/fork-a-repo
|
|
|
|
[3]: https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request
|
|
|
|
|
|
|
|
[CHANGELOG.md]: CHANGELOG.md
|