layout: docs title: Submit Changes permalink: /docs/submitchanges.html

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{:target=“_blank”} ticket
  • Review your changes according to the JIRA ticket in question
  • Building project in the Docker container
  ## for Docker container
  # cd /ws/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{:target=“_blank”}
    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/mnemonic
  # bin/runall.sh
  ## 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{:target=“_blank”}
      ## for host
      # git fetch -a
    
    1. Rebase your changes onto upstream/master Rebasing Branches{:target=“_blank”}
      ## for host
      # git rebase upstream/master
    
  • Push local commits to your remote repository Pushing Changes{:target=“_blank”}
  ## 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{:target=“_blank”}
  • Fix any issues come from community review
  • Change the JIRA ticket status to RESOLVED if the button exists