Versioning#
Philosophy#
SImMER
generally follows semantic versioning
guidelines. In brief, this means that our version numbers follow a AA.BB.CC
convenion, with AA incrementing when a large, backward-incompatible changes
are introduced to the code base; BB incrementing when backward-compatible
functionality is added to a code; and CC incrementing whenever backward-compatible
bugs are fixed. For example:
If a user input of square root scaling resulted in quadratic scaling, fixing this would result in CC increasing
If new plotting arguments are added to the plotting schema, `BB would increase
If
Instruments
were deprecated and a new classTelescopes
were used in its stead, AA would increase
Additionally, suffixes (e.g. “-beta” or “-dev”) may be added to the release tag, signifying the degree to which developers are confident in production-ready (i.e., bug-free) code.
In practice#
This only applies to developers with write access to the code base. All that needs to be done is:
Adjust the version specified in
src/simmer/__init__.py
. This will automatically update docs andsetup.py
configurations.Update the GitHub release version to match the version specified in Step 1. This will automatically publish the build on PyPI.
Wait for the autotick bot on the SImMER feedstock repository to make a PR updating the version number. Then, wait for all the tests to pass.
Make any neessary dependency changes to the corresponding recipe, then merge the PR. Note: Don’t add [skip ci] to the merge commit in the feedstock repository! This suffix will skip all continuous integration run in that repository, not just the SImMER tests on Azure. Therefore, the newest version won’t be available to install on conda.