Contributing
Step 1. Fork this repository to your GitHub
Step 2. Clone the repository from your GitHub
git clone https://github.com/[YOUR GITHUB ACCOUNT]/mail_handler.git
Step 3. Add this repository to the remote in your local repository
git remote add upstream "https://github.com/pycontw/mail_handler"
You can pull the latest code in master branch through git pull upstream master
afterward.
Step 4. Check out a branch for your new feature
git checkout -b [YOUR FEATURE]
Step 5. Install prerequisite
python -m pip install pipx
python -m pipx install poetry invoke
python -m pipx ensurepath
Step 6. Create your local Python virtual environment and install dependencies
inv env.init-dev
Step 7. Work on your new feature
Note that this project follows conventional-commit and bumps version based on it. Use the following command to commit your changes.
inv git.commit
Step 8. Run test cases
Make sure all test cases pass.
inv test
Step 9. Run test coverage
Check the test coverage and see where you can add test cases.
inv test.cov
Step 10. Reformat source code
Format your code through black
and isort
.
inv style.reformat
Step 11. Run style check
Make sure your coding style passes all enforced linters.
inv style
[Optional] Check your coding style through pylint
. Note that you do not have to fix all the issues warned by pylint
.
inv style.pylint
Step 12. Run security check
Ensure the packages installed are secure, and no server vulnerability is introduced
inv secure