Skip to content

Commit ab2ba6d

Browse files
author
Jacob Truman
committed
Fix issue parsing version
1 parent 51a9522 commit ab2ba6d

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

buildrunner/config/loader.py

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,21 @@
3131
load_config,
3232
)
3333

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+
3445
from .models import GlobalConfig
3546

3647
from . import fetch, jinja_context
3748

38-
3949
MASTER_GLOBAL_CONFIG_FILE = "/etc/buildrunner/buildrunner.yaml"
4050
VERSION_FILE_PATH = (
4151
f"{os.path.realpath(os.path.join(os.path.dirname(__file__), '..'))}/version.py"
@@ -124,27 +134,14 @@ def _validate_version(config: dict) -> None:
124134
buildrunner. If the config version is greater than the buildrunner version or any parsing error occurs
125135
it will raise a buildrunner exception.
126136
"""
127-
buildrunner_version = None
128-
129137
if not os.path.exists(VERSION_FILE_PATH):
130138
LOGGER.warning(
131139
f"File {VERSION_FILE_PATH} does not exist. This could indicate an error with "
132140
f"the buildrunner installation. Unable to validate version."
133141
)
134142
return
135143

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])
148145

149146
if not buildrunner_version:
150147
raise BuildRunnerVersionError("unable to determine buildrunner version")

0 commit comments

Comments
 (0)