summaryrefslogtreecommitdiff
path: root/scripts/make-version-file
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2019-05-11 14:22:17 +0200
committerChristian Poessinger <christian@poessinger.com>2019-05-13 21:58:29 +0200
commite08da45e6d20f1f2ac38fff24e697a155ddac3ea (patch)
treee0801dca5ac5490fb7d70666228522c1b81068f1 /scripts/make-version-file
parent29d919609dbd800c2ba1ab0152e1f5e0df1f60bc (diff)
downloadvyos-build-e08da45e6d20f1f2ac38fff24e697a155ddac3ea.tar.gz
vyos-build-e08da45e6d20f1f2ac38fff24e697a155ddac3ea.zip
T1378: extend version file with Git commit ID
The Git commit ID will be crucial for the future when the full VyOS build can be reproduced by the one Git commit ID, thus start recording it in the version file.
Diffstat (limited to 'scripts/make-version-file')
-rwxr-xr-xscripts/make-version-file16
1 files changed, 12 insertions, 4 deletions
diff --git a/scripts/make-version-file b/scripts/make-version-file
index 95574722..4df2cb6c 100755
--- a/scripts/make-version-file
+++ b/scripts/make-version-file
@@ -43,7 +43,16 @@ build_timestamp = now.strftime("%Y%m%d%H%M")
build_date = now.strftime("%a %d %b %Y %H:%M UTC")
# Assign a (hopefully) unique identifier to the build (UUID)
-build_id = str(uuid.uuid4())
+build_uuid = str(uuid.uuid4())
+
+# Initialize Git object from our repository
+repo = git.Repo('.')
+
+# Retrieve the Git commit ID of the repository, 14 charaters will be sufficient
+build_git = repo.head.object.hexsha[:14]
+# If somone played around with the source tree and the build is "dirty", mark it
+if repo.is_dirty():
+ build_git += "-dirty"
# Create a build version
if build_config['build_type'] == 'development':
@@ -52,7 +61,6 @@ if build_config['build_type'] == 'development':
with open('data/versions') as f:
version_mapping = json.load(f)
- repo = git.Repo('.')
git_branch = repo.active_branch.name
branch_version = version_mapping[git_branch]
@@ -68,10 +76,10 @@ version_data = {
'version': version,
'built_by': build_config['build_by'],
'built_on': build_date,
- 'build_id': build_id
+ 'build_uuid': build_uuid,
+ 'build_git': build_git
}
-
os.makedirs(os.path.join(defaults.CHROOT_INCLUDES_DIR, 'usr/share/vyos'), exist_ok=True)
with open(os.path.join(defaults.CHROOT_INCLUDES_DIR, 'usr/share/vyos/version.json'), 'w') as f:
json.dump(version_data, f)