Skip to content

Commit

Permalink
Merge pull request #32 from jeanduplessis/main
Browse files Browse the repository at this point in the history
Adds contribution guide and updates maintainers
  • Loading branch information
ytsarev authored Jan 23, 2023
2 parents 93b8826 + 18c719c commit 1d369bf
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 8 deletions.
103 changes: 103 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Contributing to upbound/provider-terraform

Welcome, and thank you for considering contributing to `provider-terraform`.
We encourage you to help out by raising issues, improving documentation,
fixing bugs, or adding new features.

If you're interested in contributing please start by reading this document.
If you have any questions at all, or don't know where to start, please reach
out to us in the [`#providers`](https://crossplane.slack.com/archives/C01TRKD4623)
channel in [Crossplane Community Slack].

## Contributing Code

To contribute bug fixes or features to `provider-terraform`:

1. Communicate your intent.
1. Make your changes.
1. Test your changes.
1. Update documentation and examples where appropriate.
1. Open a Pull Request (PR).

Communicating your intent lets the [maintainers] know that you intend
to contribute, and how. This sets you up for success - you can avoid duplicating
an effort that may already be underway, adding a feature that may be rejected,
or heading down a path that you would be steered away from at review time. The
best way to communicate your intent is via a detailed GitHub issue. Take a look
first to see if there's already an issue relating to the thing you'd like to
contribute. If there isn't, please raise a new one! Let us know what you'd like
to work on, and why. The `provider-terraform` maintainers can't always triage new issues
immediately, but we encourage you to bring them to our attention via [Slack].

Be sure to practice [good git commit hygiene] as you make your changes. All but
the smallest changes should be broken up into a few commits that tell a story.
Use your git commits to provide context for the folks who will review PR, and
the folks who will be spelunking the codebase in the months and years to come.
Ensure each of your commits is signed-off in compliance with the [Developer
Certificate of Origin] by using `git commit -s` and follow the CLA instructions.
The `provider-terraform` project highly values readable, idiomatic Go code. Familiarise
yourself with the [Coding Style] and try to preempt any comments your reviewers
would otherwise leave. Run `make reviewable` to lint your change.

All `provider-terraform` code must be covered by tests. `provider-terraform` does not use Ginkgo tests and
will request changes to any PR that uses Ginkgo or any third party testing
library, per the common Go [test review comments]. `provider-terraform` encourages the use
of table driven unit tests.

Note that when opening a PR your reviewer will expect you to detail how you've
tested your work. For all but the smallest changes some manual testing is
encouraged in addition to unit tests.

All `provider-terraform` documentation is under revision control; see the [docs] directory
of this repository. Any change that introduces new behaviour or changes existing
behaviour must include updates to any relevant documentation. Please keep
documentation changes in distinct commits.

Once your change is written, tested, and documented the final step is to have it
reviewed! You'll be presented with a template and a small checklist when you
open a PR. Please read the template and fill out the checklist. Please make all
requested changes in subsequent commits. This allows your reviewers to see what
has changed as you address their comments. Be mindful of your commit history as
you do this - avoid commit messages like "Address review feedback" if possible.
If doing so is difficult a good alternative is to rewrite your commit history to
clean them up after your PR is approved but before it is merged.

In summary, please:

* Discuss your change in a GitHub issue before you start.
* Use your Git commit messages to communicate your intent to your reviewers.
* Sign-off on all Git commits by running `git commit -s`
* Add or update tests for all changes.
* Preempt [Coding Style] review comments.
* Update all relevant documentation.
* Don't force push to address review feedback. Your commits should tell a story.
* If necessary, tidy up your git commit history once your PR is approved.

Thank you for reading through our contributing guide! We appreciate you taking
the time to ensure your contributions are high quality and easy for our
community to review and accept. Please don't hesitate to [reach out to
us][Slack] if you have any questions about contributing!

## Code Review Process

All Pull Requests (PR), whether written by a maintainer or a
community member, must go through code review. This ensures that the code is
correct, maintainable, and secure.

We encourage anyone in the community to conduct a code review on a PR,
however, we require the following approvals before merging a PR:
- At least one approval from [Maintainers]

The PR author should notify one of the [Maintainers], when the PR is ready for
review.

[Crossplane Community Slack]: https://slack.crossplane.io/
[Slack]: https://crossplane.slack.com/archives/C01TRKD4623
[maintainers]: https://github.com/upbound/provider-terraform/blob/main/OWNERS.md
[code of conduct]: https://github.com/cncf/foundation/blob/master/code-of-conduct.md
[good git commit hygiene]: https://www.futurelearn.com/info/blog/telling-stories-with-your-git-history
[Developer Certificate of Origin]: https://github.com/apps/dco
[test review comments]: https://github.com/golang/go/wiki/TestComments
[docs]: docs/
[Coding Style]: https://github.com/crossplane/crossplane/blob/master/CONTRIBUTING.md#coding-style

11 changes: 3 additions & 8 deletions OWNERS.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,10 @@
# OWNERS

This page lists all maintainers for **this** repository. Each repository in the [Crossplane
organization](https://github.com/crossplane/) will list their repository maintainers in their own
`OWNERS.md` file.

Please see the Crossplane
[GOVERNANCE.md](https://github.com/crossplane/crossplane/blob/master/GOVERNANCE.md) for governance
guidelines and responsibilities for the steering committee and maintainers.
This page lists the maintainers for this repository.

## Maintainers

* Upbound Extensions team (@upbound/extensions-team)
* Bob Haddleton <[email protected]> ([bobh66](https://github.com/bobh66))
* Yury Tsarev <[email protected]> ([ytsarev](https://github.com/ytsarev))
* Nic Cope <[email protected]> ([negz](https://github.com/negz))
* Nic Cope <[email protected]> ([negz](https://github.com/negz))

0 comments on commit 1d369bf

Please sign in to comment.