build system: Also get IDF version from annotated tags only

Builds on previous commit.

Note: Getting the project version still pases --tags so still works with plain
tags, to keep compatibility for existing projects
This commit is contained in:
Angus Gratton 2020-10-07 09:36:40 +11:00
parent 936c803ccb
commit 6c2bffe53c
5 changed files with 5 additions and 5 deletions

View file

@ -70,7 +70,7 @@ Checking The Current Version
The local ESP-IDF version can be checked using git:: The local ESP-IDF version can be checked using git::
cd $IDF_PATH cd $IDF_PATH
git describe --tags --dirty git describe --dirty
The version is also compiled into the firmware and can be accessed (as a string) via the macro ``IDF_VER``. The default ESP-IDF bootloader will print the version on boot (these versions in code will not always update, it only changes if that particular source file is recompiled). The version is also compiled into the firmware and can be accessed (as a string) via the macro ``IDF_VER``. The default ESP-IDF bootloader will print the version on boot (these versions in code will not always update, it only changes if that particular source file is recompiled).

View file

@ -198,7 +198,7 @@ def get_version():
# Otherwise, use git to look for a tag # Otherwise, use git to look for a tag
try: try:
tag = subprocess.check_output(["git", "describe", "--tags", "--exact-match"]).strip() tag = subprocess.check_output(["git", "describe", "--exact-match"]).strip()
is_stable = re.match(r"v[0-9\.]+$", tag) is not None is_stable = re.match(r"v[0-9\.]+$", tag) is not None
return (tag, "tag", is_stable) return (tag, "tag", is_stable)
except subprocess.CalledProcessError: except subprocess.CalledProcessError:

View file

@ -27,7 +27,7 @@ If the issue cannot be solved after the steps before, please follow these instru
- Development Kit: [ESP32-Wrover-Kit|ESP32-DevKitC|ESP32-PICO-Kit|ESP32-LyraT|ESP32-LyraTD-MSC|none] - Development Kit: [ESP32-Wrover-Kit|ESP32-DevKitC|ESP32-PICO-Kit|ESP32-LyraT|ESP32-LyraTD-MSC|none]
- Kit version (for WroverKit/PicoKit/DevKitC): [v1|v2|v3|v4] - Kit version (for WroverKit/PicoKit/DevKitC): [v1|v2|v3|v4]
- Module or chip used: [ESP32-WROOM-32|ESP32-WROOM-32D|ESP32-WROOM-32U|ESP32-WROVER|ESP32-WROVER-I|ESP32-WROVER-B|ESP32-WROVER-IB|ESP32-SOLO-1|ESP32-PICO-D4|ESP32] - Module or chip used: [ESP32-WROOM-32|ESP32-WROOM-32D|ESP32-WROOM-32U|ESP32-WROVER|ESP32-WROVER-I|ESP32-WROVER-B|ESP32-WROVER-IB|ESP32-SOLO-1|ESP32-PICO-D4|ESP32]
- IDF version (run ``git describe --tags`` to find it): - IDF version (run ``git describe`` to find it):
// v3.2-dev-1148-g96cd3b75c // v3.2-dev-1148-g96cd3b75c
- Build System: [Make|CMake] - Build System: [Make|CMake]
- Compiler version (run ``xtensa-esp32-elf-gcc --version`` to find it): - Compiler version (run ``xtensa-esp32-elf-gcc --version`` to find it):

View file

@ -270,7 +270,7 @@ endif
# If we have `version.txt` then prefer that for extracting IDF version # If we have `version.txt` then prefer that for extracting IDF version
ifeq ("$(wildcard ${IDF_PATH}/version.txt)","") ifeq ("$(wildcard ${IDF_PATH}/version.txt)","")
IDF_VER_T := $(shell cd ${IDF_PATH} && git describe --always --tags --dirty) IDF_VER_T := $(shell cd ${IDF_PATH} && git describe --always --dirty)
else else
IDF_VER_T := `cat ${IDF_PATH}/version.txt` IDF_VER_T := `cat ${IDF_PATH}/version.txt`
endif endif

View file

@ -837,7 +837,7 @@ def get_python_env_path():
with open(version_file_path, "r") as version_file: with open(version_file_path, "r") as version_file:
idf_version_str = version_file.read() idf_version_str = version_file.read()
else: else:
idf_version_str = subprocess.check_output(['git', '--work-tree=' + global_idf_path, 'describe', '--tags'], cwd=global_idf_path, env=os.environ).decode() idf_version_str = subprocess.check_output(['git', '--work-tree=' + global_idf_path, 'describe'], cwd=global_idf_path, env=os.environ).decode()
match = re.match(r'^v([0-9]+\.[0-9]+).*', idf_version_str) match = re.match(r'^v([0-9]+\.[0-9]+).*', idf_version_str)
idf_version = match.group(1) idf_version = match.group(1)