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.
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.
- You can report an issue you found
- Help us test Gauge by adding to our existing automated tests
- Help someone get started with Gauge on our discussion forum
- Contribute to our blog
- Add to our set of examples to help someone new to Gauge get started easily
- Help us improve our documentation
- Contribute code to Gauge!
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!
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 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.
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
.
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.
If you are trying to write plugins for Gauge or trying to contribute to Gauge core, take a look at the Developer Documentation.
- Update the value of
CurrentGaugeVersion
variable inversion/version.go
file.
Ex:
// CurrentGaugeVersion represents the current version of Gauge
-var CurrentGaugeVersion = &Version{1, 5, 0}
+var CurrentGaugeVersion = &Version{1, 5, 1}