From f35772f2e28740b6daf34831eb021a853bafd760 Mon Sep 17 00:00:00 2001 From: "Galantsev, Dmitrii" Date: Wed, 6 Mar 2024 18:55:40 -0600 Subject: [PATCH] Add .github/CONTRIBUTING.md Change-Id: I7aa7381d973520a515d0539f4915ce67342a3a34 Signed-off-by: Galantsev, Dmitrii [ROCm/rdc commit: ba88baef9ced4cd9df7368a09943f38812f66aff] --- projects/rdc/.github/CONTRIBUTING.md | 114 +++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 projects/rdc/.github/CONTRIBUTING.md diff --git a/projects/rdc/.github/CONTRIBUTING.md b/projects/rdc/.github/CONTRIBUTING.md new file mode 100644 index 0000000000..c88056a39d --- /dev/null +++ b/projects/rdc/.github/CONTRIBUTING.md @@ -0,0 +1,114 @@ +# Contributing to RDC # + +We welcome contributions to RDC. Please follow these details to help ensure your contributions will be successfully accepted. + +## Issue Discussion ## + +Please use the GitHub Issues tab to notify us of issues. + +* Use your best judgement for issue creation. If your issue is already listed, upvote the issue and + comment or post to provide additional details, such as how you reproduced this issue. +* If you're not sure if your issue is the same, err on the side of caution and file your issue. + You can add a comment to include the issue number (and link) for the similar issue. If we evaluate + your issue as being the same as the existing issue, we'll close the duplicate. +* If your issue doesn't exist, use the issue template to file a new issue. + * When filing an issue, be sure to provide as much information as possible, + including your amdgpu driver version, GPUs used, and commands ran. This + helps reduce the time required to reproduce your issue. + * Check your issue regularly, as we may require additional information to successfully reproduce the + issue. +* You may also open an issue to ask questions to the maintainers about whether a proposed change + meets the acceptance criteria, or to discuss an idea pertaining to the library. + +## Acceptance Criteria ## + +The goal of RDC project is to provide a remote control tool with optional +modules. + +Contributors wanting to submit additional plugins must follow the guidelines +below. + +* New modules/ + * Modules must be loaded at runtime with a `dlopen` call. + * Modules must have an option to disable them in CMake. + +## Code Structure ## + +Modules: + + └── rdc_libs + └── rdc_modules + +Module interfaces: (see RdcRasLib.h for example) + + └── include + └── rdc_lib + └── impl + +Client executable (rdci) source: + + └── rdci + +Server executable (rdcd) source: + + └── server + +Protos for protobuf and gRPC: + + └── protos + └── rdc.proto + +## Coding Style ## + +Please refer to `.clang-format`. It is suggested you use `pre-commit` tool. +It mostly follows Google C++ formatting with 100 character line limit. + +## Pull Request Guidelines ## + +When you create a pull request, you should target the default branch. Our +current default branch is the **develop** branch, which serves as our +integration branch. + +### Deliverables ### + +For each new file in repository, +Please include the licensing header + + /* + Copyright (c) 20xx - present Advanced Micro Devices, Inc. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + */ + +### Process ### + +* Reviewers are listed in the CODEOWNERS file +* Code format guidelines + +RDC uses the clang-format tool for formatting code in source files. +The formatting style is captured in .clang-format which is located at +the root of RDC. These are different options to follow: + + 1. Using pre-commit and docker - `pre-commit run` + 1. Using only clang-format - `clang-format -i \` + +## References ## + +1. [pre-commit](https://github.com/pre-commit/pre-commit) +1. [clang-format](https://clang.llvm.org/docs/ClangFormat.html)