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

Adding MIOpen Contributing Guide #932

Merged
merged 3 commits into from
May 24, 2021
Merged

Adding MIOpen Contributing Guide #932

merged 3 commits into from
May 24, 2021

Conversation

aserio
Copy link
Contributor

@aserio aserio commented May 14, 2021

Add a contributing guide to the MIOpen repository. Please review the document and provide comments and suggestions below.

@aserio aserio added help wanted request_for_comments See https://en.wikipedia.org/wiki/Request_for_Comments labels May 14, 2021
@aserio aserio requested review from junliume and atamazov May 14, 2021 16:44
@aserio
Copy link
Contributor Author

aserio commented May 14, 2021

Open Question: Should we address anything about how the library is licensed in this document?

Copy link
Contributor

@junliume junliume left a comment

Choose a reason for hiding this comment

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

I suspect that this doc will take a long while to refine and settle :) Let's settle on the minimal target and refine later.

CONTRIBUTING.md Show resolved Hide resolved
CONTRIBUTING.md Outdated
. The second reviewer should be a peer reviewer. This reviewer
can be any other MIOpen developer.

## Responsibility of Author
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we have code style guidelines?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@atamazov, do we have a style available? I did find a page on our wiki related to using Clang Format

Copy link
Contributor

Choose a reason for hiding this comment

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

No, we do not have a dedicated coding style doc. Tidy and formatting checks on CI provide the basis for the programming style automatically. I would also recommend reading https://isocpp.org/wiki/faq/coding-standards and https://google.github.io/styleguide/cppguide.html for every MIOpen developer.

CONTRIBUTING.md Show resolved Hide resolved
CONTRIBUTING.md Show resolved Hide resolved
@atamazov
Copy link
Contributor

Open Question: Should we address anything about how the library is licensed in this document?

Like this: Any contributed changes must not violate or jeopardize the MIOpen license. For example, it is not allowed to include code snippets from third-party programs that do not allow free use.

ce1adon
ce1adon previously approved these changes May 16, 2021
junliume
junliume previously approved these changes May 18, 2021
Copy link
Contributor

@junliume junliume left a comment

Choose a reason for hiding this comment

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

Let's start with the draft and refine later.

Copy link
Contributor

@atamazov atamazov left a comment

Choose a reason for hiding this comment

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

All review comments should be resolved prior merging, otherwise we can lose the results of the reviewer's work.

update to resolve comments to revise CONTRIBUTING.md till 05182021 1630 PDT
@junliume junliume dismissed stale reviews from ce1adon and themself via ee1863d May 18, 2021 23:31
CONTRIBUTING.md Outdated
maintain or improve the overall quality of the codebase.

Reviewer's task checklist:
1. Has the PR passed necessary CI?
Copy link
Contributor

Choose a reason for hiding this comment

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

I want to clarify how we understand "passed necessary CI".
Is it only about tests in current CI which should be passed.
Or also to check that the coverage is sufficient and to ask the author to add tests to the CI, if necessary.

Copy link
Contributor

Choose a reason for hiding this comment

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

@shurale-nkn "add tests to the CI" is indicated in Point 5 below, so passing CI here meant tests in current CI which should be passed only.

However, it's a good point about sufficient coverage, and we may have different set of CI for different types of PRs. How would someone new know about which set of CI needs to be passed? :(

Copy link
Contributor

Choose a reason for hiding this comment

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

Right now we have a "full set" of tests. If "full set" is passed, then it is Ok.

It is also possible to manually narrow or extend the set or tests. This is also Ok provided that all the reviewers and the author agree on that.

Copy link
Contributor

Choose a reason for hiding this comment

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

It may worth explaining this in contributing rules.

Copy link
Contributor

Choose a reason for hiding this comment

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

Mostly my question is about unit tests and verification.
And 'full test' can't guarantee any of this.

Copy link
Member

Choose a reason for hiding this comment

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

Maybe it is the contributor's job to always provide a subsection in the PR description about which subset of test he used for functionality regression. If this is generic changes, then it could be one of the full test stages. If else, a specific test stage need to be specified that can cover the changes.

Copy link
Contributor

@atamazov atamazov May 19, 2021

Choose a reason for hiding this comment

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

@shurale-nkn

Mostly my question is about unit tests and verification. And 'full test' can't guarantee any of this.

If so, then the "full test" has an issue and needs to be updated or fixed.

[Off-topic] BTW this is what you are doing right now with that "reshuffle and reduce test cases", right?

@junliume Yes. If the existing test set does not cover the PR, then the contributor and reviewers should take care of it. Ideally, add necessary tests in the same PR.

Copy link
Contributor

@shurale-nkn shurale-nkn May 19, 2021

Choose a reason for hiding this comment

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

[Off-topic]

BTW this is what you are doing right now with that "reshuffle and reduce test cases", right?

No, it's about our tests do testing only for fastest solution, not for all, so we can't guaranty correctness of all solvers.
I asked to add this feature long time ago. It should be written somewhere in the plans.

CONTRIBUTING.md Outdated Show resolved Hide resolved
shurale-nkn
shurale-nkn previously approved these changes May 20, 2021
Copy link
Contributor

@shurale-nkn shurale-nkn left a comment

Choose a reason for hiding this comment

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

LGTM

@ROCm ROCm deleted a comment from shurale-nkn May 20, 2021
Copy link
Contributor

@atamazov atamazov left a comment

Choose a reason for hiding this comment

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

🌃

@atamazov atamazov merged commit 0b58280 into develop May 24, 2021
@junliume junliume deleted the add_contributing_doc branch July 20, 2021 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted request_for_comments See https://en.wikipedia.org/wiki/Request_for_Comments
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants