diff options
author | Christian Poessinger <christian@poessinger.com> | 2019-05-11 14:22:17 +0200 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2019-05-13 21:58:29 +0200 |
commit | e08da45e6d20f1f2ac38fff24e697a155ddac3ea (patch) | |
tree | e0801dca5ac5490fb7d70666228522c1b81068f1 /scripts/make-version-file | |
parent | 29d919609dbd800c2ba1ab0152e1f5e0df1f60bc (diff) | |
download | vyos-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-x | scripts/make-version-file | 16 |
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) |