-
Notifications
You must be signed in to change notification settings - Fork 2
How to Contribute
Welcome and thank you for your interest to contribute to HiFly Drone!
HiFly project is open-source and we welcome all your inputs! There are many ways you can contribute beyond writing code, whether it's:
- π A bug report
- π¨ Submitting a fix
- πΊοΈ Discussion on current state and system design suggestions
- β Asking questions
- π‘ Proposing new features or ideas
Visit the official HiFly Drone project on GitHub: project link Before you open a new issue, please do a search in open issues to see if the issue or feature request has already been filled. If you find a relevant issue, please leave a comment and a reaction (upvote or downvote). ππ
Before we can accept a pull request (PR) from you, you will need to sign a Contributor License Agreement (CLA). This step takes no more than a minute and you only need to do it once.
Be sure to follow our Coding Guidelines and keep code changes as small as possible to enable us to swiftly review and accept your pull request. Please create one pull request per issue and provide the link to the issue in the pull request. You may refer to other PR recommendations below.
Submitting a pull request is simple, below we list the steps to submit a PR in 3 easy steps.
You should fork the original repo and create personal working branches for different features/issues to keep the main repo clean and your personal workflow isolated.
Make changes in the file to integrate your changes. Once you are done, stage, commit, and push the changes you have made to your forked repo:
git add .
git commit -m "commit message here"
git push -u origin
Navigate to the original repo and submit a pull request by clicking "New Pull Request" or click on "Compare and pull request" if you are in your forked repo. Include a detail description regarding the changes you have made and then click on the "Sumbit pull request". All done, your PR is now submitted to HiFly_Drone for review and approval!
This video shows the process.
To integrate your contribution as seamlessly as possible, we advise doing the follow:
- β
Verify your PR is up-to-date with origin/main. If your PR is behind origin/main, an automatic GitHub actions may be attempted by including the
/rebase
command in the comments. Alternatively, you may run the following code to fetch up-to-date contents from upstream, merge your changes, and push to your forked repo. (Replace '<local_branch>' with the name of your local branch):
git remote add upstream https://github.com/Ascend-Huawei/HiFly_Drone.git
git fetch upstream
git checkout <local_branch>
git merge upstream/main
git push -u origin
- β Verify all Continuous Integration (CI) checks are passing.
- β Make the absolute minimal changes required for your PR and avoid purely formatting changes when no code is modified.
Before we can look at your pull request, please sign a The source code files must support the Apache License 2.0. You may include a statement at the beginning of each source code file as follows:
# Copyright 2020 Huawei Technologies Co., Ltd.
#
# 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.
If the source code contains the copyright of other companies, add a line of Huawei's copyright as follows:
# Copyright 2020 Huawei Technologies Co., Ltd.
# Copyright 2018 HiSillion Technologies Co., Ltd.
#
# 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.
For Python programming, ensure your code complies with the Python PEP 8 Coding Style. Unit testing (UT) complies with the pytest framework.
Project Management
Contributing
Setup and Experimental Documentations