Skip to content

Latest commit

 

History

History
38 lines (32 loc) · 2.61 KB

CONTRIBUTE.md

File metadata and controls

38 lines (32 loc) · 2.61 KB

How to contribute to this repository

When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the maintainers of this repository before making a change.

Please have a look at the GitHub guides before contributing. Especially the GitHub workflow guide.

General guidelines

  • Do create feature requests / issues before working on a new feature or fixing a bug.
  • Do create a feature / bugfix branch whenever possible. No code related commits should go directly to main. This will help to keep merge conflicts at a minimum and the history of main tidy.
  • Do reference issues in your commit comments and PR. This will help to see the reason for a change. While it might be clear to you now why you made a certain change, you might have forgotten it in a few weeks.
  • Do use Conventional Commits style for your commit messages.
  • Do stick to the templates when writing an issue or pull request whenever possible.
  • Do use Google style pydoc strings for documentation.
  • Don't merge your own pull requets! Let someone else check your work before it goes into main.

Pull requests

  • Do address a single concern in the least number of changes as possible.
  • Do make sure your PR can be auto-merged into the branch you want to merge against e.g. main.
  • Do use squash commits on merging feature branches to main / develop to keep their history clean. Rule of thumb: Every merge should result in one conventional commit for the CHANGELOG.
  • Do use Conventional Commits style for your PR comments.

Releasing new version

  1. Merge all changes to develop branch.
  2. TEST EVERYTHING!
  3. Update all version numbers. (setup.py, Dockerfile). Use semantic versioning.
  4. Create a version bump commit with comment chore(release): <VERSION>
  5. Create version tag locally. Name it v<version>.
  6. Run auto-changelog -u -d "Commandline interface for Sen2Cube.at backend." --tag-prefix=v --github
  7. Amend v<VERSION> commit with generated CHANGELOG.md
  8. Push everything and create GitHub release.