forked from in-toto/witness
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
adding the contributing.md from archivista
- Loading branch information
1 parent
f0c8f43
commit 9705526
Showing
1 changed file
with
74 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
# Contributing to Witness | ||
|
||
We welcome contributions from the community and first want to thank you for | ||
taking the time to contribute! | ||
|
||
Before starting, please take some time to familiarize yourself with the [Code of Conduct](CODE_OF_CONDUCT.md). | ||
|
||
|
||
## Getting Started | ||
|
||
We welcome many different types of contributions and not all of them need a | ||
Pull Request. Contributions may include: | ||
|
||
* New features and proposals | ||
* Documentation | ||
* Bug fixes | ||
* Issue Triage | ||
* Answering questions and giving feedback | ||
* Helping to onboard new contributors | ||
* Other related activities | ||
|
||
### Setting up your environment | ||
|
||
### Required Tooling | ||
Some tools are required on your system in order to help you with | ||
the development process: | ||
|
||
* Git: Witness is hosted on GitHub, so you will need to have Git installed. For | ||
more information, please follow [this guide](https://github.com/git-guides/install-git). | ||
|
||
* GNU Make: The root of the directory contains a `Makefile` for automating development | ||
processes. The `make` CLI tool is usually installed by default on most systems | ||
(excluding Windows), but you can check if it is installed by running `make --version` | ||
on your terminal. If this command is unsuccessful, you will need to find the standard | ||
method for installing it for your system. For installing `make` on Windows, please see | ||
[here](https://gnuwin32.sourceforge.net/packages/make.html). | ||
|
||
* Go v1.19: Witness is written in [Go](https://golang.org/), so you | ||
will need this installed in order to compile and run the source code. | ||
|
||
* jq: It is a lightweight and flexible command-line JSON processor. It is | ||
used to parse JSON files. You can install it by following the instructions | ||
[here](https://stedolan.github.io/jq/download/). | ||
|
||
#### Getting the Witness source code | ||
|
||
[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo>) the repository on GitHub and | ||
[clone](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) it to | ||
your local machine: | ||
```console | ||
git clone [email protected]:YOUR-USERNAME/witness.git | ||
``` | ||
*The command above uses SSH to clone the repository, which we recommend. You can find out more | ||
about how to set SSH up with Github [here](https://docs.github.com/en/authentication/connecting-to-github-with-ssh).* | ||
|
||
|
||
Add a [remote](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-for-a-fork) and | ||
regularly [sync](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) to make sure | ||
you stay up-to-date with our repository: | ||
|
||
```console | ||
git remote add upstream https://github.com/in-toto/witness.git | ||
git checkout main | ||
git fetch upstream | ||
git merge upstream/main | ||
``` | ||
|
||
### Running Tests | ||
|
||
You can run all the tests by executing the command: | ||
|
||
```console | ||
make test | ||
``` |