vimwiki-cli/CONTRIBUTING.md

71 lines
2.7 KiB
Markdown
Raw Normal View History

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