Skip to content
Michael Wetter edited this page Nov 22, 2017 · 19 revisions

Making a release

Making a new release requires administrator permission.

Modelica library

To make a release of the Modelica library, proceed as follows:

  1. Address all milestones for this release, https://github.com/lbl-srg/modelica-buildings/milestones

  2. Merge all changes to the release or master branch.

  3. Update the first lines in the file Buildings/package.mo, such as

    annotation (
    version="1.0.0",
    versionDate="2011-11-04",
    dateModified = "2011-12-08",
    uses(Modelica(version="3.2")),
    conversion(
      from(version="0.12",
           script="modelica://Buildings/Resources/Scripts/Dymola/ConvertModelica_from_0.12.0_to_0.13.mos")),

    We use semantic versioning as described at http://semver.org/. Hence, major version X (X.y.z | X > 0) must be incremented if any backwards incompatible changes are introduced to the public API

    The keyword versionDate is only changed when the second digit of version changes. The keyword dateModified is changed with each new patch. Use the date format above, which can be processed by Modelica tools. The keyword versionBuild is no longer used.

  4. On the release branch, change README.md to update the line

    Download [Buildings Library 1.4.1 (2013-01-31)](https://github.com/lbl-srg/modelica-buildings/archive/v1.4.1.zip)

    For release candidate 1 of version 2.0.0, use

    Download [Buildings Library 2.0.0-rc.1 (2015-04-09)](https://github.com/lbl-srg/modelica-buildings/archive/v2.0.0-rc.1.zip)
  5. Make sure that the conversion script, such as ConvertBuildings_from_1.6_to_2.0.mos, contains all update commands.

  6. Run the script bin/checkRelease.py to check for invalid syntax.

  7. Run the unit tests.

  8. Update the user guide by typing

    cd Buildings/Resources/Documentation/userGuide
    make html
    make linkcheck
    make copytowww
  9. Run the script makeRelease.py with arguments such as

    makeRelease.py --version 1.0.0 --base-branch master

    or

    makeRelease.py --version 1.0.0-rc.1 --base-branch master
  10. Copy the files to the web server using the script postBuildingsTagToSrg.sh. (This step will start Dymola to export the html documentation, and also clean up the formatting of the documentation.)

  11. Update http://simulationresearch.lbl.gov/modelica/download.html

    • Add to list of releases.
    • Add blog post.
  12. Update the web link using

    cd /usr/local/www/simulationresearch/modelica/releases
    rm latest && ln -s vX.Y.Z latest
  13. Prepare next development version by:

  14. Adding a new ReleaseNotes package to Buildings/package.mo. Use this template.

  15. Update in Buildings/package.mo the section

    annotation (
    version="1.1.1",
    versionDate="2011-11-04",
    dateModified="2011-12-07",
    uses(Modelica(version="3.2")),
  16. Update in the same file

    annotation (Documentation(info="<html>
    <p>
    This section summarizes the changes that have been performed
    on the Buildings library.
    </p>
    <p>
    <ul>
    <li>
    <a href="modelica://Buildings.UsersGuide.ReleaseNotes.Version_1_4_1">
    Version 1.4.1</a>(xxx, 2013)
    </li>
    </li>
  17. To change back to the master branch, type

    git checkout master

User Guide

To update only the user guide, proceed as follows:

  1. Type

    git checkout master
    git pull
    cd Buildings/Resources/Documentation/userGuide
  2. Either type

    make dist

    or

    make html
    make linkcheck
    make copytowww

    The second form can be used if make linkcheck reports broken links because links point to http://simulationresearch.lbl.gov/modelica/releases/latest/help/Buildings.html and hence files that were added to the current release may not yet be posted under latest.