Skip to content

Development setup and process flow

Tomasz Pałka edited this page May 19, 2019 · 3 revisions

Environment setup

  1. Clone the repository

  2. Install IDE of your choice

    Note that project is configured for use with IntelliJ IDEA and this IDE is used as an example in the rest of this page.

  3. Import project

    1. Select "Maven" project type
    2. In the next window, check following boxes:
      • Search for projects recursively
      • Import Maven projects automatically
      • Create module groups for multi-module Maven projects
    3. Make sure modules to be imported are checked
    4. Select "1.8" SDK version
    5. Wait for project and modules to be imported by IDE - it may take a while
  4. Setup formatter

    1. Formatter settings file: resources/style_format/eclipse_format_code_standards.xml - file is in Eclipse format

      For IntelliJ, "Eclipse Code Formatter" plugin must be used

    2. Choose "Allure_Test_Framework_Format" as formatter profile

    3. Optionally, formatting can be set to be performed automatically on file save ("Save Actions" option in Eclipse, in IntelliJ there is a plugin named "Save Actions")

Development process flow

  1. Create/assign to issue on board and move it to "In Progress column"
  2. Create branch in repository using "branch: " button
    • branch name should start with feature/ or bugfix/ prefix - please do not create branches without a prefix
    • branch name should contain issue number for easier tracking and some short description (e.g. feature/issue-123-my-feature)
    • branch should be created based on develop branch
  3. Checkout branch on your local machine
    • using git tool:
      • git fetch and then git checkout <branch_name> OR
      • git pull and then git checkout <branch_name>
    • using IntelliJ:
      • Navigate to VCS -> Git -> Fetch (or Pull)

      • Navigate to VCS -> Git -> Branches and select your branch from remotes to Checkout as

        You may also use branch menu at the bottom of screen

  4. Make your changes
  5. Before commit, make sure that you formatted all files you changed (see "Environment setup" section above for formatter configuration details) and that unit tests are passing locally
    • You can run tests using mvn test command
  6. Commit your changes providing short and descriptive commit message (be sure to add all files you want to commit first)
    • Using git command line tool: git commit -m "<commit_message_here>"
    • Using IntelliJ: Navigate to VCS -> Commit
  7. Push changes to remote repository
    • Using git command line tool: git push (you may need to setup upstream branch, follow instructions displayed in console)
    • Using IntelliJ: Navigate to VCS -> Git -> Push (you may also select Commit and Push option in commit window)
  8. To check if your code works, run Jenkins job providing your branch as WORKING_BRANCH parameter - build should pass and be marked as green
  9. If all changes are done and build is passing, you may open pull request
    • Click "New pull request" button
    • Select your branch
    • Review the changes to be introduced
    • Add link to passing Jenkins job in the PR's comment
    • Add reviewers: tompalka, pawel-szczesny, przwojtkow should be included in reviewers list
  10. Update your issue on board: move it to "Review/QA" column
  11. Wait for reviewers to provide comments and approve your changes
  12. When you PR is approved and merge to develop branch, update issue on board: move it to "Closed" column
Clone this wiki locally