diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index ac482b21ab..ce9b15375f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -38,7 +38,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] - 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] -- IDF version (run ``git describe --tags`` to find it): +- IDF version (run ``git describe`` to find it): // v3.2-dev-1148-g96cd3b75c - Build System: [Make|CMake|idf.py] - Compiler version (run ``xtensa-esp32-elf-gcc --version`` to find it): diff --git a/docs/gen-version-specific-includes.py b/docs/gen-version-specific-includes.py index 08b111d651..6bd377c4b1 100755 --- a/docs/gen-version-specific-includes.py +++ b/docs/gen-version-specific-includes.py @@ -198,7 +198,7 @@ def get_version(): # Otherwise, use git to look for a tag 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 return (tag, "tag", is_stable) except subprocess.CalledProcessError: diff --git a/make/project.mk b/make/project.mk index bd40e64aa6..19e848e688 100644 --- a/make/project.mk +++ b/make/project.mk @@ -338,7 +338,7 @@ endif # If we have `version.txt` then prefer that for extracting IDF version 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 IDF_VER_T := $(shell cat ${IDF_PATH}/version.txt) endif diff --git a/tools/ci/check_idf_version.sh b/tools/ci/check_idf_version.sh index 36fdf003f2..35135b89de 100755 --- a/tools/ci/check_idf_version.sh +++ b/tools/ci/check_idf_version.sh @@ -33,7 +33,7 @@ cmake_ver_minor=$(get_ver_from_cmake IDF_VERSION_MINOR) cmake_ver_patch=$(get_ver_from_cmake IDF_VERSION_PATCH) version_from_cmake="${cmake_ver_major}.${cmake_ver_minor}.${cmake_ver_patch}" -git_desc=$(git describe --tags) +git_desc=$(git describe) git_desc_regex="^v([0-9]+)\.([0-9]+)(\.([0-9]+))?.*$" if [[ ! ${git_desc} =~ ${git_desc_regex} ]]; then echo "Could not determine the version from 'git describe' output: ${git_desc}" diff --git a/tools/ci/checkout_project_ref.py b/tools/ci/checkout_project_ref.py index e9c060a1b0..e7d0a8e6aa 100755 --- a/tools/ci/checkout_project_ref.py +++ b/tools/ci/checkout_project_ref.py @@ -35,7 +35,7 @@ def target_branch_candidates(proj_name): pass # branch name read from IDF try: - git_describe = subprocess.check_output(["git", "describe", "--tags", "HEAD"]) + git_describe = subprocess.check_output(["git", "describe", "HEAD"]) match = IDF_GIT_DESCRIBE_PATTERN.search(git_describe.decode()) if match: major_revision = match.group(1) diff --git a/tools/ci/config/pre_check.yml b/tools/ci/config/pre_check.yml index 6f4baca8fa..b1883a8174 100644 --- a/tools/ci/config/pre_check.yml +++ b/tools/ci/config/pre_check.yml @@ -155,3 +155,16 @@ build_template_app: - for dir in esp32 esp32s2beta; do test $(xtensa-esp32-elf-nm $dir/*.a | grep -w printf | wc -l) -eq 0; done; - for dir in esp32 esp32s2beta; do test $(xtensa-esp32-elf-nm $dir/*.a | grep -w ets_printf | wc -l) -eq 0; done; - popd + +# For release tag pipelines only, make sure the tag was created with 'git tag -a' so it will update +# the version returned by 'git describe' +check_version_tag: + extends: .check_job_template + only: + refs: + - /^v\d+\.\d+(\.\d+)?($|-)/ + variables: + - $BOT_TRIGGER_WITH_LABEL == null + script: + - (git cat-file -t $CI_COMMIT_REF_NAME | grep tag) || echo "ESP-IDF versions must be annotated tags." && exit 1 + diff --git a/tools/idf_tools.py b/tools/idf_tools.py index 914ecc048a..524e478847 100755 --- a/tools/idf_tools.py +++ b/tools/idf_tools.py @@ -843,7 +843,7 @@ def get_python_env_path(): idf_version_str = version_file.read() else: try: - idf_version_str = subprocess.check_output(['git', 'describe', '--tags'], + idf_version_str = subprocess.check_output(['git', 'describe'], cwd=global_idf_path, env=os.environ).decode() except subprocess.CalledProcessError as e: warn('Git describe was unsuccessul: {}'.format(e))