@@ -10,23 +10,26 @@ set -o pipefail
1010# "[board].upload.tool=esptool_py" to "[board].upload.tool=esptool_py\n[board].upload.tool.default=esptool_py\n[board].upload.tool.network=esp_ota"
1111# cat boards.txt | sed "s/\([a-zA-Z0-9_\-]*\)\.upload\.tool\=esptool_py/\1\.upload\.tool\=esptool_py\\n\1\.upload\.tool\.default\=esptool_py\\n\1\.upload\.tool\.network\=esp_ota/"
1212
13- if [ ! $# -eq 3 ]; then
13+ if [ ! $# -eq 1 ]; then
1414 echo " Bad number of arguments: $# " >&2
15- echo " usage: $0 <major> <minor> <patch >" >&2
15+ echo " usage: $0 <version >" >&2
1616 exit 1
1717fi
1818
19- re=' ^[0-9]+$'
20- if [[ ! $1 =~ $re ]] || [[ ! $2 =~ $re ]] || [[ ! $3 =~ $re ]] ; then
21- echo " error: Not a valid version: $1 .$2 .$3 " >&2
22- echo " usage: $0 <major> <minor> <patch>" >&2
19+ # Version must be in the format of X.Y.Z or X.Y.Z-abc123 (POSIX ERE)
20+ re=' ^[0-9]+\.[0-9]+\.[0-9]+(-[A-Za-z]+[0-9]*)?$'
21+ version=$1
22+
23+ if [[ ! $version =~ $re ]] ; then
24+ echo " error: Not a valid version: $version " >&2
25+ echo " usage: $0 <version>" >&2
2326 exit 1
2427fi
2528
26- ESP_ARDUINO_VERSION_MAJOR=" $1 "
27- ESP_ARDUINO_VERSION_MINOR=" $2 "
28- ESP_ARDUINO_VERSION_PATCH=" $3 "
29- ESP_ARDUINO_VERSION =" $ESP_ARDUINO_VERSION_MAJOR .$ESP_ARDUINO_VERSION_MINOR .$ESP_ARDUINO_VERSION_PATCH "
29+ ESP_ARDUINO_VERSION_MAJOR=$( echo " $version " | cut -d. -f1 )
30+ ESP_ARDUINO_VERSION_MINOR=$( echo " $version " | cut -d. -f2 )
31+ ESP_ARDUINO_VERSION_PATCH=$( echo " $version " | cut -d. -f3 | sed ' s/[^0-9].*// ' ) # Remove non-numeric suffixes like RC1, alpha, beta
32+ ESP_ARDUINO_VERSION_CLEAN =" $ESP_ARDUINO_VERSION_MAJOR .$ESP_ARDUINO_VERSION_MINOR .$ESP_ARDUINO_VERSION_PATCH "
3033
3134# Get ESP-IDF version from build_component.yml (this way we can ensure that the version is correct even if the local libs are not up to date)
3235ESP_IDF_VERSION=$( grep -m 1 " default:" .github/workflows/build_component.yml | sed ' s/.*release-v\([^"]*\).*/\1/' )
@@ -35,38 +38,38 @@ if [ -z "$ESP_IDF_VERSION" ]; then
3538 exit 1
3639fi
3740
38- echo " New Arduino Version: $ESP_ARDUINO_VERSION "
41+ echo " New Arduino Version: $version "
3942echo " ESP-IDF Version: $ESP_IDF_VERSION "
4043
4144echo " Updating issue template..."
42- if ! grep -q " v$ESP_ARDUINO_VERSION " .github/ISSUE_TEMPLATE/Issue-report.yml; then
45+ if ! grep -q " v$version " .github/ISSUE_TEMPLATE/Issue-report.yml; then
4346 cat .github/ISSUE_TEMPLATE/Issue-report.yml | \
44- sed " s/.*\- latest master .*/ - latest master \(checkout manually\)\\ n - v$ESP_ARDUINO_VERSION /g" > __issue-report.yml && mv __issue-report.yml .github/ISSUE_TEMPLATE/Issue-report.yml
45- echo " Issue template updated with version v$ESP_ARDUINO_VERSION "
47+ sed " s/.*\- latest master .*/ - latest master \(checkout manually\)\\ n - v$version /g" > __issue-report.yml && mv __issue-report.yml .github/ISSUE_TEMPLATE/Issue-report.yml
48+ echo " Issue template updated with version v$version "
4649else
47- echo " Version v$ESP_ARDUINO_VERSION already exists in issue template, skipping update"
50+ echo " Version v$version already exists in issue template, skipping update"
4851fi
4952
5053echo " Updating GitLab variables..."
5154cat .gitlab/workflows/common.yml | \
5255sed " s/ESP_IDF_VERSION:.*/ESP_IDF_VERSION: \" $ESP_IDF_VERSION \" /g" | \
53- sed " s/ESP_ARDUINO_VERSION:.*/ESP_ARDUINO_VERSION: \" $ESP_ARDUINO_VERSION \" /g" > .gitlab/workflows/__common.yml && mv .gitlab/workflows/__common.yml .gitlab/workflows/common.yml
56+ sed " s/ESP_ARDUINO_VERSION:.*/ESP_ARDUINO_VERSION: \" $ESP_ARDUINO_VERSION_CLEAN \" /g" > .gitlab/workflows/__common.yml && mv .gitlab/workflows/__common.yml .gitlab/workflows/common.yml
5457
5558echo " Updating platform.txt..."
56- cat platform.txt | sed " s/version=.*/version=$ESP_ARDUINO_VERSION /g" > __platform.txt && mv __platform.txt platform.txt
59+ cat platform.txt | sed " s/version=.*/version=$ESP_ARDUINO_VERSION_CLEAN /g" > __platform.txt && mv __platform.txt platform.txt
5760
5861echo " Updating package.json..."
59- cat package.json | sed " s/.*\" version\" :.*/ \" version\" : \" $ESP_ARDUINO_VERSION \" ,/g" > __package.json && mv __package.json package.json
62+ cat package.json | sed " s/.*\" version\" :.*/ \" version\" : \" $ESP_ARDUINO_VERSION_CLEAN \" ,/g" > __package.json && mv __package.json package.json
6063
6164echo " Updating docs/conf_common.py..."
6265cat docs/conf_common.py | \
63- sed " s/.. |version| replace:: .*/.. |version| replace:: $ESP_ARDUINO_VERSION /g" | \
66+ sed " s/.. |version| replace:: .*/.. |version| replace:: $ESP_ARDUINO_VERSION_CLEAN /g" | \
6467sed " s/.. |idf_version| replace:: .*/.. |idf_version| replace:: $ESP_IDF_VERSION /g" > docs/__conf_common.py && mv docs/__conf_common.py docs/conf_common.py
6568
6669echo " Updating .gitlab/workflows/common.yml..."
6770cat .gitlab/workflows/common.yml | \
6871sed " s/ESP_IDF_VERSION:.*/ESP_IDF_VERSION: \" $ESP_IDF_VERSION \" /g" | \
69- sed " s/ESP_ARDUINO_VERSION:.*/ESP_ARDUINO_VERSION: \" $ESP_ARDUINO_VERSION \" /g" > .gitlab/workflows/__common.yml && mv .gitlab/workflows/__common.yml .gitlab/workflows/common.yml
72+ sed " s/ESP_ARDUINO_VERSION:.*/ESP_ARDUINO_VERSION: \" $ESP_ARDUINO_VERSION_CLEAN \" /g" > .gitlab/workflows/__common.yml && mv .gitlab/workflows/__common.yml .gitlab/workflows/common.yml
7073
7174echo " Updating cores/esp32/esp_arduino_version.h..."
7275cat cores/esp32/esp_arduino_version.h | \
@@ -78,7 +81,7 @@ libraries=$(find libraries -maxdepth 1 -mindepth 1 -type d -exec basename {} \;)
7881for lib in $libraries ; do
7982 if [ -f " libraries/$lib /library.properties" ]; then
8083 echo " Updating Library $lib ..."
81- cat " libraries/$lib /library.properties" | sed " s/version=.*/version=$ESP_ARDUINO_VERSION /g" > " libraries/$lib /__library.properties" && mv " libraries/$lib /__library.properties" " libraries/$lib /library.properties"
84+ cat " libraries/$lib /library.properties" | sed " s/version=.*/version=$ESP_ARDUINO_VERSION_CLEAN /g" > " libraries/$lib /__library.properties" && mv " libraries/$lib /__library.properties" " libraries/$lib /library.properties"
8285 fi
8386done
8487
0 commit comments