Merge branch 'bugfix/ci_auto_checkout_revision_of_project_used_in_ci_v3.3' into 'release/v3.3'

CI: get git describe from annotated tags (v3.3)

See merge request espressif/esp-idf!10676
This commit is contained in:
Angus Gratton 2020-10-08 16:44:49 +08:00
commit 471d79edae
8 changed files with 19 additions and 7 deletions

View File

@ -796,6 +796,18 @@ check_pipeline_triggered_by_label:
# We want to make sure some jobs are always executed to detect regression. # We want to make sure some jobs are always executed to detect regression.
- test "$BOT_LABEL_REGULAR_TEST" = "true" || exit -1 - test "$BOT_LABEL_REGULAR_TEST" = "true" || exit -1
# 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
assign_test: assign_test:
tags: tags:
- assign_test - assign_test

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

@ -33,7 +33,7 @@ cmake_ver_minor=$(get_ver_from_cmake IDF_VERSION_MINOR)
cmake_ver_patch=$(get_ver_from_cmake IDF_VERSION_PATCH) cmake_ver_patch=$(get_ver_from_cmake IDF_VERSION_PATCH)
version_from_cmake="${cmake_ver_major}.${cmake_ver_minor}.${cmake_ver_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]+))?.*$" git_desc_regex="^v([0-9]+)\.([0-9]+)(\.([0-9]+))?.*$"
if [[ ! ${git_desc} =~ ${git_desc_regex} ]]; then if [[ ! ${git_desc} =~ ${git_desc_regex} ]]; then
echo "Could not determine the version from 'git describe' output: ${git_desc}" echo "Could not determine the version from 'git describe' output: ${git_desc}"

View File

@ -35,7 +35,7 @@ def target_branch_candidates(proj_name):
pass pass
# branch name read from IDF # branch name read from IDF
try: 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()) match = IDF_GIT_DESCRIBE_PATTERN.search(git_describe.decode())
if match: if match:
major_revision = match.group(1) major_revision = match.group(1)

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)