Skip to content

Latest commit

 

History

History
90 lines (52 loc) · 4.58 KB

CONTRIBUTING.md

File metadata and controls

90 lines (52 loc) · 4.58 KB

Important note

Gauge's official sponsorship ended in 2021. Despite this, we strived to maintain the project with our personal resources as best as possible. However, we've reached a point where we can't ensure the same level of dedication.

The core team will only look into issues in our spare time, which means slower response times. We welcome pull requests, but please anticipate significant delays in reviewing and merging.

Moreover, please consider using Gauge only if you're prepared to adopt and support it fully on your own. With our shift to community-driven maintenance, primary responsibility will fall onto individual users and contributors.

We appreciate your understanding, contributions, and continued support.

Contributing to Gauge

Contributions to Gauge are welcome and appreciated. Coding is definitely not the only way you can contribute to Gauge. There are many valuable ways to contribute to the product and to help the growing Gauge community.

Please read this document to understand the process for contributing.

Different ways to contribute

All repositories are hosted on GitHub. Gauge’s core is written in Golang but plugins are, and can be, written in any popular language. Pick up any pending feature or bug, big or small, then send us a pull request. Even fixing broken links is a big, big help!

How do I start contributing

There are issues of varying levels across all Gauge repositories. All issues that need to be addressed are tagged as 'Help Needed'. One easy way to get started is to pick a small bug to fix. These have been tagged as 'Easy Picks'.

If you need help in getting started with contribution, feel free to reach out on Discussions

Gauge Core v/s Plugins

Gauge Core is a project that has features that would reflect across all Gauge use cases. These features are typically agnostic of the user's choice of implementation language.

Plugins are meant to do something specific. These could be adding support for a new language, or have a new report etc. So, depending on where you see your contribution fit, please focus on the respective repository.

Developer Certificate of Origin (DCO)

Gauge and it's plugins use a mechanism called a Developer Certificate of Origin (DCO) popularized by The Linux Foundation. The DCO is a legally binding statement that asserts that you are the creator of your contribution, and that you license the work under the Apache License Version 2.0.

To indicate that you agree to the terms of the DCO, you must “sign off” your contribution by adding a line with your name and e-mail address to every Git commit message:

Signed-off-by: <name> <email>

You must use your real name (no pseudonyms or anonymous contributions are allowed.)

Your signature certifies that you are either the author of the contribution or have the right to submit it under the open-source license used by Gauge and it's plugins.

If you set your user.name and user.email as part of your Git configuration, you can sign your commit automatically with git commit --signoff or in short git commit -s.

Adding signoff to earlier commits

To sign off your last commit from the command line, use:

git commit --amend --signoff

Then force-push to update the branch on your fork with:

git push --force-with-lease

Gauge uses GaugeBot to check for presence of the sign-off in every pull request, and this is a required check.

Developer documentation

If you are trying to write plugins for Gauge or trying to contribute to Gauge core, take a look at the Developer Documentation.

Bump up gauge version

  • Update the value of CurrentGaugeVersion variable in version/version.go file.

Ex:

 // CurrentGaugeVersion represents the current version of Gauge
-var CurrentGaugeVersion = &Version{1, 5, 0}
+var CurrentGaugeVersion = &Version{1, 5, 1}