Skip to content

Latest commit

 

History

History
51 lines (33 loc) · 3.03 KB

CONTRIBUTING.md

File metadata and controls

51 lines (33 loc) · 3.03 KB

Contributing to CFCR

As a potential contributor, your changes and ideas are always welcome. Please do not hesitate to ask a question using GitHub issues or send a pull request to contribute changes.

Contributor License Agreement

If you have not previously done so, please fill out and submit an Individual Contributor License Agreement or a Corporate Contributor License Agreement.

Contributor Workflow

We encourage contributors to have discussion around design and implmentation with team members before making significant changes to the project through GitHub Issues. The project manager will prioritize where the feature will fit into the project's road map.

  1. Fork the project on GitHub
  2. Make your feature addition or bug fix. Please make sure there is appropriate test coverage.
  3. Run tests.
  4. Make sure your fork is up to date with master.
  5. Send a pull request.
  6. The team will triage the pull request and assign it to a team member.
  7. A team member will approve the pull request or make suggestions for changes.

Writing the tests

Unit Testing is the responsibility of all contributors.

Unit test coverage

These confirm that a particular function behaves as intended. If the change is meant route sync package then contributor must consider adding unit tests using ginkgo testing framework and there are tests in the package to guide as examples. Unit tests code are collocated in the same package with source code.

If the changes are for BOSH templating logic then please consider adding unit tests to BOSH templating tests.

Running the Tests

Pre-requisites

  1. Install Go

  2. Install Ginkgo

  3. Install Ruby

  4. Install Bundler

    gem install bundler
    

Running Release Unit Tests

Execute command ./scripts/run_tests to run unit tests for kubo-release. These includes tests for route-sync and the BOSH templating tests. Please run these tests before submitting a pull request.

Optional tools to deploy

Kubo-deployment

Kubo-deployment helps users to deploy CFCR using a set of helper scripts and manifest generation tools. If your change includes deployment level changes and update to the BOSH manifest, please also update kubo-deployment repository. Follow the steps mentioned in project's CONTRIBUTING.md doc as well.

It is advisable for the Contributor to run integration tests before submitting.