You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@submarine.apache.org by GitBox <gi...@apache.org> on 2021/02/22 07:21:42 UTC

[GitHub] [submarine] kevin85421 opened a new pull request #519: SUBMARINE-748. Update Contributing guide

kevin85421 opened a new pull request #519:
URL: https://github.com/apache/submarine/pull/519


   ### What is this PR for?
   Update Contributing guide
   
   
   ### What type of PR is it?
   [Documentation]
   
   ### Todos
   
   
   ### What is the Jira issue?
   https://issues.apache.org/jira/browse/SUBMARINE-748
   
   ### How should this be tested?
   
   
   ### Screenshots (if appropriate)
   
   ### Questions:
   * Does the licenses files need update? No
   * Is there breaking changes for older versions? No
   * Does this needs documentation? No
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [submarine] kevin85421 commented on pull request #519: SUBMARINE-748. Update Contributing guide

Posted by GitBox <gi...@apache.org>.
kevin85421 commented on pull request #519:
URL: https://github.com/apache/submarine/pull/519#issuecomment-783152404


   Use this link to preview contributing.md.
   https://github.com/kevin85421/hadoop-submarine/blob/SUBMARINE-748/website/docs/community/contributing.md


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [submarine] kevin85421 commented on pull request #519: SUBMARINE-748. Update Contributing guide

Posted by GitBox <gi...@apache.org>.
kevin85421 commented on pull request #519:
URL: https://github.com/apache/submarine/pull/519#issuecomment-784221605


   @yaooqinn Thank you for your recommendation! I will update it soon.
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [submarine] yaooqinn commented on pull request #519: SUBMARINE-748. Update Contributing guide

Posted by GitBox <gi...@apache.org>.
yaooqinn commented on pull request #519:
URL: https://github.com/apache/submarine/pull/519#issuecomment-783983803


   It looks more like a tool guide for developers to make changes in the source code but not a contributing guide.
   
   In the contributing guide, I suggest that we might encourage people to contribute not only in the way of committing to the source code but also testing, discussing/answering questions on the mailing list, doc improvement, sharing use cases, and so on.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [submarine] pingsutw commented on a change in pull request #519: SUBMARINE-748. Update Contributing guide

Posted by GitBox <gi...@apache.org>.
pingsutw commented on a change in pull request #519:
URL: https://github.com/apache/submarine/pull/519#discussion_r590978380



##########
File path: website/docs/community/contributing.md
##########
@@ -15,252 +15,132 @@ 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.
 -->
+There are several ways to contribute to Submarine:
+1. Develop and Commit source code (This document will primarily focus on this.)
+2. Report issues (You can report issues with both Github or Jira.)
+3. Discuss/Answer questions on the mailing list
+4. Share use cases
 
-**Apache Submarine** is an [Apache 2.0 License](https://github.com/apache/submarine/blob/master/LICENSE) Software.
+## Preface
+* **Apache Submarine** is an [Apache 2.0 License](https://github.com/apache/submarine/blob/master/LICENSE) Software. Contributing to Submarine means you agree to the Apache 2.0 License. 
+* Please read [Code of Conduct](http://www.apache.org/foundation/policies/conduct.html) carefully.
+* The document [How It Works](http://www.apache.org/foundation/how-it-works.html) can help you understand Apache Software Foundation further.
 
-Contributing to Submarine (Source code, Documents, Image, Website) means you agree to the Apache 2.0 License.
+## Build Submarine
+* [Build From Code](https://github.com/apache/submarine/blob/master/website/docs/devDocs/BuildFromCode.md)
 
-1. Make sure your issue is not already in the [Jira issue tracker](https://issues.apache.org/jira/browse/SUBMARINE)
-2. If not, create a ticket describing the change you're proposing in the [Jira issue tracker](https://issues.apache.org/jira/browse/SUBMARINE)
-3. Setup Travis [Continuous Integration](#continuous-integration)
-4. Contribute your patch via Pull Request on our [Github Mirror](https://github.com/apache/submarine).
-
-Before you start, please read the [Code of Conduct](http://www.apache.org/foundation/policies/conduct.html) carefully, familiarize yourself with it and refer to it whenever you need it.
-
-For those of you who are not familiar with the Apache project, understanding [How it works](http://www.apache.org/foundation/how-it-works.html) would be quite helpful.
-
-## Creating a Pull Request
-When creating a Pull Request, you will automatically get the template below.
-
-Filling it thoroughly can improve the speed of the review process.
-
-    ### What is this PR for?
-    A few sentences describing the overall goals of the pull request's commits.
-    First time? Check out the contribution guidelines -
-    https://github.com/apache/submarine/tree/master/docs/community/contributing.md
-
-    ### What type of PR is it?
-    [Bug Fix | Improvement | Feature | Documentation | Hot Fix | Refactoring]
-
-    ### Todos
-    * [ ] - Task
-
-    ### What is the Jira issue?
-    * Open an issue on Jira https://issues.apache.org/jira/browse/SUBMARINE/
-    * Put link here, and add [SUBMARINE-${jira_number}] in PR title, e.g. [SUBMARINE-323]
-
-    ### How should this be tested?
-    Outline the steps to test the PR here.
-
-    ### Screenshots (if appropriate)
-
-    ### Questions:
-    * Do the licenses files require updates?
-    * Are there breaking changes for older versions?
-    * Does this need documentation?
-
-
-## Source Control Workflow
+## Creating patches
 Submarine follows [Fork & Pull](https://github.com/sevntu-checkstyle/sevntu.checkstyle/wiki/Development-workflow-with-Git:-Fork,-Branching,-Commits,-and-Pull-Request) model.
 
-## The Review Process
-
-When a Pull Request is submitted, it is being merged or rejected by the following review process.
-
-* Anybody can be a reviewer and may comment on the change or suggest modifications.
-* Reviewer can indicate that a patch looks suitable for merging with a comment such as: "Looks good", "LGTM", "+1".
-* At least one indication of suitability (e.g. "LGTM") from a committer is required to be merged.
-* Pull request is open for 1 or 2 days for potential additional review unless it's got enough indication of suitability.
-* A committer can then initiate lazy consensus ("Merge if there is no more discussion") after which the code can be merged after a particular time (usually 24 hours) if there are no more reviews.
-* Contributors can ping reviewers (including committers) by commenting 'Ready to review' or suitable indication.
-
-
-## Setting up
-Here are some things you will need to build and test the Submarine.
-
-### Software Configuration Management (SCM)
-
-Submarine uses Git for its SCM system. So you'll need a git client installed on your development machine.
-
-### Integrated Development Environment (IDE)
-
-You are free to use whatever IDE you prefer, or your favorite command-line editor.
-
-### Code convention
-We are following Google Code style:
-
-* [Java style](https://google.github.io/styleguide/javaguide.html)
-* [Shell style](https://google.github.io/styleguide/shell.xml)
-
-There are some plugins to format, lint your code in IDE (use [dev-support/maven-config/checkstyle.xml](hhttps://github.com/apache/submarine/blob/master/dev-support/maven-config/checkstyle.xml) as rules)
-
-* [Checkstyle plugin for Intellij](https://plugins.jetbrains.com/plugin/1065) ([Setting Guide](http://stackoverflow.com/questions/26955766/intellij-idea-checkstyle))
-* [Checkstyle plugin for Eclipse](http://eclipse-cs.sourceforge.net/#!/) ([Setting Guide](http://eclipse-cs.sourceforge.net/#!/project-setup))
-
-
-## Getting the source code
-
-### Step 1: Fork in the cloud
-
-1. Visit https://github.com/apache/submarine
-2. On the top right of the page, click the `Fork` button (top right) to create a cloud-based fork of the repository.
-
-### Step 2: Clone fork to local storage
-
-Create your clone:
-
-> ${user} is your github user name
+### Step1: Fork apache/submarine github repository (first time)
+* Visit https://github.com/apache/submarine
+* Click the `Fork` button to create a fork of the repository
 
+### Step2: Clone the Submarine to your local machine 
 ```sh
-mkdir -p ${working_dir}
-cd ${working_dir}
-
-git clone https://github.com/${user}/submarine.git
-# or: git clone git@github.com:${user}/submarine.git
-
-cd ${working_dir}/submarine
-git remote add upstream https://github.com/apache/submarine.git
-# or: git remote add upstream git@github.com:apache/submarine.git
-
-# Never push to the upstream master.
+# USERNAME – your Github user account name.
+git clone git@github.com:${USERNAME}/submarine.git
+# or: git clone https://github.com/${USERNAME}/submarine.git 
+ 
+cd submarine
+# set upstream 
+git remote add upstream git@github.com:apache/submarine.git
+# or: git remote add upstream https://github.com/apache/submarine.git
+
+# Don't push to the upstream master.
 git remote set-url --push upstream no_push
 
-# Confirm that your remotes make sense:
-# It should look like:
-# origin    git@github.com:${user}/submarine.git (fetch)
-# origin    git@github.com:${user}/submarine.git (push)
-# upstream  https://github.com/apache/submarine (fetch)
+# Check upstream/origin:
+# origin    git@github.com:${USERNAME}/submarine.git (fetch)
+# origin    git@github.com:${USERNAME}/submarine.git (push)
+# upstream  git@github.com:apache/submarine.git (fetch)
 # upstream  no_push (push)
 git remote -v
 ```
 
-### Step 3: Branch
+### Step3: Create a new Jira in Submarine project
+* New contributors need privilege to create JIRA issues. Please email kaihsun@apache.org with your Jira username. In addition, the email title should be "[New Submarine Contributor]".
+* Check [Jira issue tracker](https://issues.apache.org/jira/projects/SUBMARINE/issues/SUBMARINE-748?filter=allopenissues) for existing issues.
+* Create a new Jira issue in Submarine project. When the issue is created, a Jira number (eg. SUBMARINE-748) will be assigned to the issue automatically. 
+![jira_number_example](../assets/jira_number_example.png)
 
-Get your local master up to date:
 
+### Step4: Create a local branch for your contribution
 ```sh
-cd ${working_dir}/submarine
-git fetch upstream
+cd submarine
+
+# Make your local master up-to-date
 git checkout master
+git fetch upstream 
 git rebase upstream/master
-```
 
-Branch from master:
-
-```sh
+# Create a new branch fro issue SUBMARINE-${jira_number}
 git checkout -b SUBMARINE-${jira_number}
-```
-
-### Step 4: Develop
-
-#### Edit the code
-
-You can now edit the code on the `SUBMARINE-${jira_number}` branch.
-
-#### Test
-
-Build and run all tests:
-
-### Step 5: Keep your branch in sync
-
-```sh
-# While on your SUBMARINE-${jira_number} branch.
-git fetch upstream
-git rebase upstream/master
-```
-
-Please don't use `git pull` instead of the above `fetch`/`rebase`. `git pull` does a merge, which leaves merge commits. These make the commit history messy and violate the principle that commits ought to be individually understandable and useful (see below). You can also consider changing your `.git/config` file via `git config branch.autoSetupRebase` always to change the behavior of `git pull`.
-
-### Step 6: Commit
-
-Commit your changes.
 
-```sh
-git commit
+# Example: git checkout -b SUBMARINE-748 
 ```
 
-Likely you'll go back and edit/build/test further and then `commit --amend` in a few cycles.
-
-### Step 7: Push
-
-When the changes are ready to review (or you just want to create an offsite backup of your work), push your branch to your fork on `github.com`:
-
+### Step5: Develop & Create commits
+* You can edit the code on the `SUBMARINE-${jira_number}` branch. (Coding Style: [Code Convention](#code-convention))
+* Create commits
 ```sh
-git push --set-upstream ${your_remote_name} SUBMARINE-${jira_number}
+git add ${edited files}
+git commit -m "SUBMARINE-${jira_number}. ${Commit Message}"
+# Example: git commit -m "SUBMARINE-748. Update Contributing guide" 
 ```
 
-### Step 8: Create a pull request
-
-1. Visit your fork at `https://github.com/${user}/submarine`.
-2. Click the `Compare & Pull Request` button next to your `SUBMARINE-${jira_number}` branch.
-3. Fill in the required information in the PR template.
-
-#### Get a code review
-
-If your pull request (PR) is opened, it will be assigned to one or more reviewers. Those reviewers will do a thorough code review, looking at correctness, bugs, opportunities for improvement, documentation comments, and style.
-
-To address review comments, you should commit the changes to the same branch of the PR on your fork.
-
-#### Revert a commit
-
-In case you wish to revert a commit, follow the instructions below:
-
-> NOTE: If you have upstream write access, please refrain from using the Revert
-> button in the GitHub UI for creating the PR, because GitHub will create the
-> PR branch inside the main repository rather than inside your fork.
-
-Create a branch and synchronize it with the upstream:
-
+### Step6: Syncing your local branch with upstream/master 
 ```sh
-# create a branch
-git checkout -b myrevert
-
-# sync the branch with upstream
+# On SUBMARINE-${jira_number} branch
 git fetch upstream
 git rebase upstream/master
-
-# SHA is the hash of the commit you wish to revert
-git revert SHA
 ```
 
-This creates a new commit reverting the change. Push this new commit to your remote:
+* Please do not use `git pull` to synchronize your local branch. Because `git pull` does a merge to create merged commits, these will make commit history messy.
 
+### Step7: Push your local branch to your personal fork
 ```sh
-git push ${your_remote_name} myrevert
+git push origin SUBMARINE-${jira_number} 
 ```
 
-Create a PR based on this branch.
-
-#### Cherry pick a commit to a release branch
+### Step8: Check Travis-ci status of your personal fork
+* Visit `https://travis-ci.org/github/${USERNAME}/submarine`

Review comment:
       ```suggestion
   * Visit `https://travis-ci.com/github/${USERNAME}/submarine`
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [submarine] asfgit closed pull request #519: SUBMARINE-748. Update Contributing guide

Posted by GitBox <gi...@apache.org>.
asfgit closed pull request #519:
URL: https://github.com/apache/submarine/pull/519


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [submarine] kevin85421 commented on pull request #519: SUBMARINE-748. Update Contributing guide

Posted by GitBox <gi...@apache.org>.
kevin85421 commented on pull request #519:
URL: https://github.com/apache/submarine/pull/519#issuecomment-787411856


   I have already updated my pull request. Use this link to preview contributing.md.
   https://github.com/kevin85421/hadoop-submarine/blob/SUBMARINE-748/website/docs/community/contributing.md


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org