From c9f88d7c67e00b3689fd4afd7630bc7fcd5b7ed4 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 2 Feb 2022 15:31:42 +1100 Subject: [PATCH] `qmk doctor`: display qmk_firmware version tag (#16155) --- lib/python/qmk/cli/doctor/main.py | 7 ++++++- lib/python/qmk/commands.py | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/python/qmk/cli/doctor/main.py b/lib/python/qmk/cli/doctor/main.py index ed20f46d3f7..2e5e221e8ff 100755 --- a/lib/python/qmk/cli/doctor/main.py +++ b/lib/python/qmk/cli/doctor/main.py @@ -11,7 +11,7 @@ from milc.questions import yesno from qmk import submodules from qmk.constants import QMK_FIRMWARE, QMK_FIRMWARE_UPSTREAM from .check import CheckStatus, check_binaries, check_binary_versions, check_submodules -from qmk.commands import git_check_repo, git_get_branch, git_is_dirty, git_get_remotes, git_check_deviation, in_virtualenv +from qmk.commands import git_check_repo, git_get_branch, git_get_tag, git_is_dirty, git_get_remotes, git_check_deviation, in_virtualenv def os_tests(): @@ -47,6 +47,11 @@ def git_tests(): git_branch = git_get_branch() if git_branch: cli.log.info('Git branch: %s', git_branch) + + repo_version = git_get_tag() + if repo_version: + cli.log.info('Repo version: %s', repo_version) + git_dirty = git_is_dirty() if git_dirty: cli.log.warning('{fg_yellow}Git has unstashed/uncommitted changes.') diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index 5a019437734..90a68ca3cd4 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py @@ -295,6 +295,14 @@ def git_get_branch(): return git_branch.stdout.strip() +def git_get_tag(): + """Returns the current tag for a repo, or None. + """ + git_tag = cli.run(['git', 'describe', '--abbrev=0', '--tags']) + if git_tag.returncode == 0: + return git_tag.stdout.strip() + + def git_is_dirty(): """Returns 1 if repo is dirty, or 0 if clean """