Skip to content
Michael Wetter edited this page Apr 9, 2024 · 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, maint_* or master branch.

  3. Make sure the regression tests for Buildings.Templates have been run (as they use a checksum of Buildings.Templates only and are not automatically triggered if other models change).

  4. 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.

  5. On the branch that has the files to be released, 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)
  6. Make sure that the conversion script, such as ConvertBuildings_from_1.6_to_2.0.mos, contains all update commands.

  7. Update the user guide by typing

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

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

    or

    make_release.py --version 1.0.0-rc.1 --base-branch master
  9. Make sure the release notes and the release asset, such as Buildings-v8.0.0.zip are uploaded at https://github.com/lbl-srg/modelica-buildings/releases. This zip file contains all binaries.

  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>

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.