Submit Changes

After Development Setup, you can follow the steps below to submit your code/comments and document changes.

  • Make sure the changes are linked to your Apache JIRA ticket
  • Review your changes according to the JIRA ticket in question
  • Building project in the Docker container
    ## for Docker container
    # cd /ws/incubator-mnemonic
    # mvn clean install
    
  • Resolve any problems found by building process
  • Run your test cases specific to your changes, please refer to bin/test.conf
  • Resolve any problems found by your test cases
  • Add your test cases to bin/test.conf
  • Commit the changes to your local repository in IDE
    for Intellij IDEA, please refer to Committing Changes to a Local Git Repository
    Please use JIRA id and title to fill up the comment of commit
    for example
    ## for host
    # git commit -m "MNEMONIC-301: Improve the documentation of architecture page"
    
  • Run all test cases if your changes could impact existing functionalities
    Note: Please make sure enough available space for test data generation (>30G)
    ## for Docker container
    # cd /ws/incubator-mnemonic
    # bin/runall.sh
    
  • Resolve any problems found by test cases and then amend your previous commit in IDE
    for Intellij IDEA, please refer to Committing Changes to a Local Git Repository
    ## for host
    # git commit --amend
    
  • Make sure there is only 1 local commit for each JIRA ticket, otherwise please squash them into one
  • Rebase your codebase before pushing local commits to your remote repository
    1. fetch update from remote Fetching Changes
        ## for host
        # git fetch -a
      
    2. Rebase your changes onto upstream/master Rebasing Branches
        ## for host
        # git rebase upstream/master
      
  • Push local commits to your remote repository Pushing Changes
    ## for host
    # git push origin
    ## NOTE: use force push if your amended commit has already been pushed
    
  • Create a PR in Github Creating a pull request
  • Fix any issues come from community review
  • Change the JIRA ticket status to RESOLVED if the button exists