Skip to content

Workflow for code changes

Michael Wetter edited this page Nov 25, 2015 · 2 revisions

This page describes the workflow for changing source code and documentation. Code changes should be done as follows:

  1. Open a new issue, and assign it to the one who can address it (which may be you).
  2. Make a new branch starting from the master branch. Call this branch something like issue17_enthalpySensor, that is, use the issue number and a brief description of the revised feature.
  3. Document your changes on the issue tracker and implement them on the branch.
  4. If you correct a bug, it is good practice to implement a unit tests that reproduces the bug, and then show that your revisions correct the bug. This unit test then becomes part of the unit tests of the library to ensure that the bug does not appear again if others make changes to the code. In general, implement several unit tests that simulate the model for all different configurations, including forward, reverse and zero flow to make sure that all equations are tested and their results stored and compared when running unit tests.
  5. When done with the implementation,
    1. merge the latest version from the master to your branch,
    2. update the release notes in the top-level package.mo file, and update the conversion script as needed in Resources/Scripts/Dymola.
    3. run the unit tests,
    4. make a pull request from your branch to the master,
    5. assign the issue to @mwetter for review and for merging it the master branch.
  6. When reviewing other's code, add your comments on the issue tracker.
  7. If the revisions are reviewed and correct, merge the pull requests to the master, delete the branch and close the ticket. If the revisions need further work, assign the issue to the original author.