Skip to content

Latest commit

 

History

History
126 lines (82 loc) · 5.4 KB

CONTRIBUTING.md

File metadata and controls

126 lines (82 loc) · 5.4 KB

Contributing to Pipeline CRD

Welcome to the Pipeline CRD project! Thanks for considering contributing to our project and we hope you'll enjoy it :D

All contributors must comply with the code of conduct.

To get started developing, see our DEVELOPMENT.md.

In this file you'll find info on:

See also the contribution guidelines for Knative.

Principles

When possbile, try to practice:

  • Documentation driven development - Before implementing anything, write docs to explain how it will work
  • Test driven development - Before implementing anything, write tests to cover it

Minimize the number of integration tests written and maximize the unit tests! Unit test coverage should increase or stay the same with every PR.

This means that most PRs should include both:

  • Tests
  • Documentation explaining features being added, including updates to DEVELOPMENT.md if required

Pull Request Process

This repo uses Prow and related tools like Tide and Gubernator (see Knative Prow). This means that automation will be applied to your pull requests.

Prow has a number of commands you can use to interact with it, in particular:

  • Before a PR can be merged, an owner must approve it with both /lgtm AND /approve
  • If you don't a PR to be merged, e.g. so that the author can make changes, you can put it on hold with /hold
  • When tests (run by Prow) fail, it will add a comment to the PR with the commands to re-run any failing tests
  • You can add dog and cat pictures with /woof and /meow

Any changes will cause the /lgtm label to be removed and it will need to be re-applied.

See also Knative docs on reviewing.

Review turnaround

Pull requests opened by maintainers should be left open, when possible, for at least a day in order to provide other maintainers a chance to review.

Standards

This section describes the standards we will try to maintain in this repo.

Commit Messages

All commit messages should follow these best practices, specifically:

  • Start with a subject line
  • Contain a body that explains why you're making the change you're making

Aim for 2 paragraphs in the body. Not sure what to put? Include:

  • What is the problem being solved?
  • Why is this the best approach?
  • What other approaches did you consider?
  • What side effects will this approach have?
  • What future work remains to be done?

Coding standards

The code in this repo should follow best practices, specifically:

Roadmap and contributions wanted

As of Sept 2018, our roadmap for the next few months is to:

  1. Soldify the API, including:

  2. Complete a user study (see issues labeled with user-study)

  3. Create an initial POC command line tool for interacting with Pipelines

Contributions wanted

Project board

Our project board is available at: https://github.com/knative/build-pipeline/projects/1 The columns on the board are:

  • Ice box: Work we would like to do, but don't plan to tackle in the next couple weeks
  • Blocked: Issues that are blocked by other tasks

Contact

This work is being done by the Build CRD working group. If you are interested please join our meetings and or slack!

All docs shared with this group are made visible to members of knative-dev@, please join if you are interested!