Before sending your pull requests, make sure you followed this list.
- Read contributing guidelines.
- Check if my changes are consistent with the guidelines.
- Changes are consistent with the [Coding Style].
- Run Unit Tests.
Welcome any contribution and whatever it is, even just a typo. Please raise your question via issue or email us privately. We take care both the documents and codes equally. So, just do it as long as you follow our rules.
If this is your first time to touch CLUE, then we suggest you start from solving issues or our minimal tasks.
If you are already familiar with this project and you are definitely feel comfortable with NLP related problems, please raise what you want to do via issue or email, and follow the workflow below.
WELCOME!
We take branch "master" as our main branch, which means it is not wise to develop new feature directly on it. We encourage you to create your own branch and create a PR for your contribution, after you complete it.
Here's the workflow:
- fort it into you github
- clone it into your local machine.
- create a new branch and code on it
- push you code into YOUR git
- create a PR
If you have huge modification, please make sure there is a coressbonding issue on our main res.
Describe what this PR does / why we need it
Does this pull request fix one issue?
Describe how you did it
Describe how to verify it
Special notes for reviews
[copied from https://github.com/alibaba/Sentinel/blob/master/.github/PULL_REQUEST_TEMPLATE.md]
After you create you PR, we will assign one or two reviewer for you PR.
We use Github Issue and Pull Request to manage/track problems.
If you find any little bug or typo, or you have new ideas about this project, you could create an issue.
If you want to contribute code, please the workflow above. If you have big modification about this project or you want to reconstruct this project ,PLEASE create an issue or email us ([email protected]) firstly.
If you find there is any serious bug about security, please contact us via [email protected] privately. PLEASE DO NOT publish any security problem via ANY public way, including issue. Thank you very much.
Before sending your pull request for review, make sure your changes are consistent with the guidelines and follow the TensorFlow coding style.
- Include unit tests when you contribute new features, as they help to a) prove that your code works correctly, and b) guard against future breaking changes to lower the maintenance cost.
- Bug fixes also generally require unit tests, because the presence of bugs usually indicates insufficient test coverage.
- Keep API compatibility in mind when you change code. Reviewers of your pull request will comment on any API compatibility issues.
- When you contribute a new feature to CLUE, the maintenance burden is (by default) transferred to the CLUE team. This means that the benefit of the contribution must be compared against the cost of maintaining the feature.
- As every PR requires several CPU/GPU hours of CI testing, we discourage submitting PRs to fix one typo, one warning,etc. We recommend fixing the same issue at the file level at least (e.g.: fix all typos in a file, fix all compiler warning in a file, etc.)
All the code will need to be reviewed.
Include a license at the top of new files.
Python Liscense:
# Copyright 2020 The CLUE Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# =============================================================================
Use pylint
to check your Python changes. To install pylint
and check a file with pylint
against TensorFlow's custom style definition:
We encourage PEP-8.
pip install pylint
pylint myfile.py
Note pylint
should run from the top level directory.
We encourage you to send your PR with your test case. Then, the review process will be quick.
Please contact us via [email protected].
Gitter room: https://github.com/CLUEbenchmark
All the things above, we refer to:Sentinel and Tensorflow. Thanks for their wisdom.