Skip to content
This repository has been archived by the owner on Nov 21, 2021. It is now read-only.

Latest commit

 

History

History
85 lines (62 loc) · 2.6 KB

CONTRIBUTING.rst

File metadata and controls

85 lines (62 loc) · 2.6 KB

How to Contribute

Your feedback on how you use SSHGuard, what you like, and what annoys you, helps us improve SSHGuard.

  • Subscribe to the users mailing list and contribute to discussions on issues you care about.
  • Vote for issues on the issue tracker.
  • Report log messages that should or should not be identified as attacks on the issue tracker.
  • Consider maintaining a package for SSHGuard on your operating system.

If there's any part of the code you'd like to dive into, post on the list and we'll show you where to get started.

  • Merge via fast-forward and rebase. Where possible, merge pull requests and branches by rebasing on top of master and fast-forwarding, without creating a separate merge commit. Linear history makes it possible for us to bisect regressions.
  • 50 character subject line, followed by a blank and more details in the body if needed, in the commit message.
  • Work in topic branches as needed. For changes big or small, feel free to use public topic branches in the SSHGuard repository. After review, they go in by rebasing master. Topic branches are usually deleted after merging. Force pushes are welcome in topic branches but not allowed in master.

An explanation of workflow states that aren't self-explanatory:

Open
Issue analyzed, fair game for someone to fix
On hold
Issue analyzed, fix deferred (e.g. due to coming architectural changes)
Resolved
Action taken, issue resolved
Invalid
Not an issue (e.g. external bugs, spam)
Wontfix
Intentional behavior or rejected feature requests
Closed
No action taken, issue resolved (e.g. already fixed in master)

Before release, make sure that:

  1. Change log and documentation are up-to-date
  2. Version number is consistent in configure.ac and man pages
  3. Regenerate autotools: autoreconf -i
  4. Building and installing work from source tarball: make distcheck

Then:

  1. Tag release: git tag -s -m "Tag <version> release" v<version>
  2. Source tarball should have been generated from make distcheck already
  3. Sign source tarball ./distsign <tarball>
  4. Push tags: git push --tags
  5. Upload release files to SourceForge.
  6. Send release announcement to mailing lists.
  7. Announce release on website.