From 8f0ab3b4b41c2a763da35039f35bb21e20239ad7 Mon Sep 17 00:00:00 2001 From: Andres Galante <1832037+andresgalante@users.noreply.github.com> Date: Mon, 25 Sep 2023 17:00:01 -0300 Subject: [PATCH] docs: improves the Contribution guidelines (#3257) Signed-off-by: Andres Co-authored-by: Andres --- CONTRIBUTING.md | 52 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 076ae07d5f1..1870adc179b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,41 +1,65 @@ -# Contributing to `cosign` +# Contributing to Cosign -The following document will detail the steps needed in order to ensure all of the correct processes are followed when contributing to `cosign`. +Thank you for considering contributing to Cosign! We welcome any contributions, whether it's bug fixes, new features, or improvements to the existing codebase. -The following are needed to be completed before a Pull Request is raised: +## Your First Pull Request -- unit tests written, run, and passing -- lint run -- document generation run +Review [Sigstore's contribution guidelines](https://github.com/sigstore/community/blob/main/CONTRIBUTING.md) which includes some high level information on how to contribute to Sigstore projects. -## Building +To help you get familiar with our contribution process, we have a list of [good first issues](https://github.com/sigstore/cosign/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) which are relatively limited in scope. -To build `cosign` locally, run the following: +Before working on an issue, please: + +1. Check the comments to see if someone is already working on it. +1. If it's unassigned, comment that you're working on it to avoid duplication. + +## Contribution Prerequisites + +Before running Cosign, ensure that you have [Go](https://go.dev/doc/install) installed. + +## Sending a Pull Request + +You can find a step by step guide to submit your contribution on [Sigstore's contribution guidelines](https://github.com/sigstore/community/blob/main/CONTRIBUTING.md#pull-request-process). + +The following steps describe the build, unit testing, linting, and documentation processes: + +### Building Cosign + +To build cosign locally, run this command: ```shell make cosign ``` -## Running Unit Tests +### Running Unit Tests -To run the unit tests, run the following: +To run the unit tests, execute the following command: ```shell make test ``` -## Running Lint +**Make sure all tests pass** without any failures or errors. + +### Running Lint -To run linting, run the following: +To run the linting checks, use the following command: ```shell make lint ``` +Address any linting warnings or errors before submitting your PR. -## Document Generation +### Document Generation -To document generation, run the following: +If your changes require updates to project documentation, run the following: ```shell make docgen ``` + +Ensure that the documentation is up-to-date and reflects your changes accurately. + +### Sign DCO + +Make sure to sign the [Developer Certificate of Origin](https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---signoff).