|
31 | 31 | load_config, |
32 | 32 | ) |
33 | 33 |
|
| 34 | +try: |
| 35 | + from buildrunner.version import __version__ as BUILDRUNNER_VERSION |
| 36 | +except ImportError: |
| 37 | + # If the version module doesn't exist, set a default version |
| 38 | + # get base version from BASE_VERSION |
| 39 | + with open(os.path.join( |
| 40 | + os.path.dirname(__file__), "..", "..", "BASE_VERSION" |
| 41 | + ), "r") as version_file: |
| 42 | + base_version = version_file.read().strip() |
| 43 | + BUILDRUNNER_VERSION = f"{base_version}.DEVELOPMENT" |
| 44 | + |
34 | 45 | from .models import GlobalConfig |
35 | 46 |
|
36 | 47 | from . import fetch, jinja_context |
37 | 48 |
|
38 | | - |
39 | 49 | MASTER_GLOBAL_CONFIG_FILE = "/etc/buildrunner/buildrunner.yaml" |
40 | 50 | VERSION_FILE_PATH = ( |
41 | 51 | f"{os.path.realpath(os.path.join(os.path.dirname(__file__), '..'))}/version.py" |
@@ -124,27 +134,14 @@ def _validate_version(config: dict) -> None: |
124 | 134 | buildrunner. If the config version is greater than the buildrunner version or any parsing error occurs |
125 | 135 | it will raise a buildrunner exception. |
126 | 136 | """ |
127 | | - buildrunner_version = None |
128 | | - |
129 | 137 | if not os.path.exists(VERSION_FILE_PATH): |
130 | 138 | LOGGER.warning( |
131 | 139 | f"File {VERSION_FILE_PATH} does not exist. This could indicate an error with " |
132 | 140 | f"the buildrunner installation. Unable to validate version." |
133 | 141 | ) |
134 | 142 | return |
135 | 143 |
|
136 | | - with open(VERSION_FILE_PATH, "r", encoding="utf-8") as version_file: |
137 | | - for line in version_file.readlines(): |
138 | | - if "__version__" in line: |
139 | | - try: |
140 | | - version_values = ( |
141 | | - line.split("=")[1].strip().replace("'", "").split(".") |
142 | | - ) |
143 | | - buildrunner_version = f"{version_values[0]}.{version_values[1]}" |
144 | | - except IndexError as exception: |
145 | | - raise ConfigVersionFormatError( |
146 | | - f'couldn\'t parse version from "{line}"' |
147 | | - ) from exception |
| 144 | + buildrunner_version = ".".join((BUILDRUNNER_VERSION.split(".") + ["0", "0"])[:2]) |
148 | 145 |
|
149 | 146 | if not buildrunner_version: |
150 | 147 | raise BuildRunnerVersionError("unable to determine buildrunner version") |
|
0 commit comments