Skip to content

Latest commit

 

History

History
201 lines (122 loc) · 5.32 KB

CONTRIBUTING.rst

File metadata and controls

201 lines (122 loc) · 5.32 KB

Contributing to Repository Service for TUF

We welcome contributions from the community and first want to thank you for taking the time to contribute!

Please familiarize yourself with the Code of Conduct before contributing.

Slack channel

#repository-service-for-tuf channel on OpenSSF Slack.

Meetings

RSTUF mailing list

Join the mail list https://lists.openssf.org/g/RSTUF

email: RSTUF@lists.openssf.org

DCO

Before you start working with Repository Service for TUF, please read our Developer Certificate of Origin. All contributions to this repository must be signed as described on that page.

To acknowledge the Developer Certificate of Origin (DCO), sign your commits by appending a Signed-off-by: Your Name <example@domain.com> to each git commit message (see git commit --signoff). Your signature certifies that you wrote the patch or have the right to pass it on as an open-source patch.

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

The Repository Service for TUF (RSTUF) has multiple components to which you can contribute.

Check the specific repository CONTRIBUTING documentation for more specific details:

Getting the source code

Fork the repository on GitHub and clone it to your local machine:

git clone git@github.com:YOUR-USERNAME/repository-service-tuf.git
cd repository-service-tuf
git submodule update --init --recursive

Add a remote and regularly sync to make sure you stay up-to-date with our repository:

git remote add upstream https://github.com/repository-service-tuf/repository-service-tuf
git checkout main
git fetch upstream
git merge upstream/main

Preparing the environment

After installing Python, install the pipenv tool:

$ pip install pipenv

Create a virtual environment for this project:

$ pipenv shell

Install the requirements from the Pipfile.

The flag -d will install the development requirements:

$ pipenv install -d

Submitting changes

  1. Create a new branch
$ git checkout -b <new_change_name>
  1. Perform the changes
  2. Run local linters, tests, etc
  3. Create a local commit with a good title and description
$ git commit -a -s
  1. Push to Git
$ git push

How to add new requirements

Install the requirements package.

The flag -d will install the development requirements.

$ pipenv install -d <package>
$ pipenv install <package>

Update all project requirements

$ make requirements

Build local documentation

$ make docs

Run linters

$ make lint

Run local functional tests

You must to have the Repository Service for TUF running local

$ make functional-tests