Skip to content

DevelopmentTesting

Andrew Coughtrie edited this page Jun 11, 2024 · 14 revisions

Development and Testing Process

Development Process

Issues and/or Pull Requests

The development of Profiler can be tracked via GitHub issues and/or pull requests. Having an issue for every pull request (PR) is not mandatory, but a pull request is required for merging changes to the main branch as part of the code review process. For instance, a simple bug fix can be provided directly via a PR.

Creating an issue can be useful to mark a development need or enhancement, discuss design ideas and report bugs that a developer might not have time to resolve themself. Users who are not part of the project are encouraged to raise issues that the developers can address. Issues can be closed with the associated pull request (e.g. if the PR provides the required bug fix or development) or independently (e.g. questions, design discussions). If a large amount of work is required to close an issue a single PR may be cumbersome to review. In such case it is useful to break the work into several PRs, each for part of the issue and GitHub task lists can be used to track the progress.

Development Steps

If you have not used Git version control for development before, please check the "Getting started with Git" tutorial.

  • Check out a working copy of the Profiler main branch and create a development branch.
  • Develop your changes locally in the branch working copy and commit your changes periodically. When committing changes prefix the commit message with the issue/PR number, e.g. #42 Added unit test. This is important as otherwise it is not possible to know where the files on the main branch came from. Note, some editors may understand # as a comment, so a commit message may start with e.g. "Issue" or "PR".
  • Make sure to push your local commits to the Profiler repository, specifying the branch name (see here for more information).
  • Test your changes (see below).
  • When you are happy with your changes request a code review.
Clone this wiki locally