Examples from the tests

The following examples are automatically extracted from the test suite.

Conditional Reset Action - Increment

This configuraton implements a version number that includes the current date ({{year}}.{{month}}) and a build. The build gets reset every beginning of the month.

The conditional_reset action can reset a field depending on what happens to other fields. In this case the build field depends on year and month, and since these are not updated, the former is incremented.

Version file

year = '2019'
month = '11'
build = 0

Configuration file

__config_version__ = 1

GLOBALS = {
    'serializer': '{{year}}.{{month}}.{{build}}',
}

FILES = ["README.md"]

ACTIONS = {
    'mbuild': {
        'type': 'conditional_reset',
        'field': 'build',
        'update_fields': ['year', 'month']
    }
}

VERSION = [
    {
        'name': 'year',
        'type': 'date',
        'fmt': '%Y'
    },
    {
        'name': 'month',
        'type': 'date',
        'fmt': '%m'
    },
    'build'
]

Effects

Original README.md

Version 2019.11.0.

Final README.md

Version 2019.11.1.

Conditional Reset Action - Reset

This configuraton implements a version number that includes the current date ({{year}}.{{month}}) and a build. The build gets reset every beginning of the month.

The conditional_reset action can reset a field depending on what happens to other fields. In this case the build field depends on year and month, and since these get updated the former is reset to 0.

Version file

year = '2018'
month = '11'
build = 0

Configuration file

__config_version__ = 1

GLOBALS = {
    'serializer': '{{year}}.{{month}}.{{build}}',
}

FILES = ["README.md"]

ACTIONS = {
    'mbuild': {
        'type': 'conditional_reset',
        'field': 'build',
        'update_fields': ['year', 'month']
    }
}

VERSION = [
    {
        'name': 'year',
        'type': 'date',
        'fmt': '%Y'
    },
    {
        'name': 'month',
        'type': 'date',
        'fmt': '%m'
    },
    'build'
]

Effects

Original README.md

Version 2018.11.0.

Final README.md

Version 2019.11.0.