Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: update contributing doc #1937

Merged
merged 3 commits into from
Oct 5, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ Thank you for opening a Pull Request! Before submitting your PR, there are a few
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Rollback plan is reviewed and LGTMed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Owlbot is going to revert this - you can add it to our excludes list: https://github.com/googleapis/java-bigtable/blob/main/owlbot.py#L97

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done! Thanks!


Fixes #<issue_number_goes_here> ☕️

Expand Down
19 changes: 18 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ This project follows

## Running Tests

### Integration Tests

Bigtable integration tests can either be run against an emulator or a real Bigtable instance.
The target environment can be selected by setting a maven profile. By default it is set to
`bigtable-emulator-it` and other options are `bigtable-prod-it` and `bigtable-directpath-it`.
Expand Down Expand Up @@ -70,6 +72,14 @@ mvn install -DskipUnitTests
mvn install -DskipTests
```

### Conformance Tests

Bigtable Conformance Tests test the correctness of the client behavior and must be run for all code changes.
When adding a new feature, conformance tests must be run with the feature enabled.

Refer to the [Test Proxy](https://github.com/googleapis/java-bigtable/tree/main/test-proxy#cbt-java-test-proxy) page
on how to run conformance tests.

## Formatting the code

To auto-format any code changes, run ``mvn com.coveo:fmt-maven-plugin:format``.
Expand All @@ -78,4 +88,11 @@ To auto-format any code changes, run ``mvn com.coveo:fmt-maven-plugin:format``.
Native Image testing is enabled for tests that follow a particular naming
convention (`IT*` or `*ClientTest`). Unit tests that use Mockito or EasyMock
have been excluded for the time being as they are not compatible with native
image compilation.
image compilation.

## Rollback plan

A rollback plan is required for all new features. The rollback plan should include:

1. How to disable this feature from the server side.
2. For features that are strictly client side, what the risks are, and what tests are done.
3 changes: 2 additions & 1 deletion owlbot.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,10 @@ def make_internal_only(sources):
'.kokoro/nightly/samples.cfg',
# todo remove once template is updated
'.github/ISSUE_TEMPLATE/bug_report.md',
'.github/PULL_REQUEST_TEMPLATE.md',
'CONTRIBUTING.md',
# exclude autogen
'codecov.yaml'
'codecov.yaml',
# needed for extraFiles
'.github/release-please.yml',
'renovate.json',
Expand Down
Loading