Clamp

Clamp

  • Clamp
  • Documentation
  • Github
  • Help

›Contributing

Welcome

  • About documentation

Getting Started

  • Quickstart

Usage

  • Installation
  • Configuration

API Reference

  • API Reference

Concepts

  • Design & architecture

Use Cases

  • Use cases

Contributing

  • Contribution guide
  • Clamp core
  • Clamp portal
  • Clamp docs
  • Code of Conduct
  • Authors

Guides

  • Troubleshooting

Support

  • Support

Contribution guide - Clamp Core

Clamp-core is the core orchestrator library. It is written in go-lang and the artifact is published as a docker image. All orchestration related changes need to be made in clamp-core repository.

Contributing

To contribute to the project follow the following steps

Dependencies

To build and run clamp you should have following dependencies installed

  • Docker required
  • Postgres required
  • RabbitMQ optional
  • Kafka optional
  • CircleCI CLI optional Installation instructions here

Fork & clone project locally

  • Fork the project into your own github repo.
  • Clone the project locally

Run docker locally

Follow the installation instructions outlined in the installation doc here.

Running tests locally

There are two ways to run the tests locally.

Execute the following command directly on the console in the project directory. To run tests using this command you must have following services running locally

  • Docker
  • Postgres
  • RabbitMQ
  • Kafka
  • Zookeeper (required by kafka setup)

gotestsum -- clamp-core/executors clamp-core/models clamp-core/services

Execute the circleci cli command to pull respective docker images and run the command as it would execute on the circle ci infrastructure. This makes it easy to debug issues when the tests are passing locally but are failing on circle ci infrastructure. This does not require any components to be setup for the test run.

./runTest.sh

or

circleci local execute --job test -e LOCALCI=true

Pull request completeness check

Once you have made changes in the code please create a pull request and ensure following things have been taken care of.

  • Code changes should have proper tests (unit & integrations as applicable)
  • Documentation has been added/updated. Both in the code alongside functions as well as in clamp-documentation repository
  • Git commit message should have enough details around the changes made and context
  • Attach pull request to the right issues in the issue list
  • Ensure that test and builds are passing in CircleCI dashboard for your commit pipeline

Feature backlog

We actively curate our feature backlog and all enhancements, issues, suggestions are housed in our project view. The project view combine issues and enhancements from all clamp ecosystem repositories. Issues are also tagged with helpful tags to assist folks who are contributing to Clamp ecosystem for the first time.

If there is an issue/suggestion that you would like to report please add it to the issue backlog of the relevant repository. (Core, Portal, Docs)

Raising PR for an new/existing issues

If you would like to provide a solution for an existing issue/enhancement, please raise a pull request against the ticket and someone will review and provide feedback or merge it back to the repository. Please ensure that completeness check is adhered to as listed above.

← Contribution guideClamp portal →
  • Contributing
    • Dependencies
    • Fork & clone project locally
    • Run docker locally
    • Running tests locally
    • Pull request completeness check
  • Feature backlog
  • Raising PR for an new/existing issues
Contact Us to know more about Clamp