Skip to content

Commit 87b718a

Browse files
authored
fix(merge): Fix merging CN Json (#11574)
1 parent ee02185 commit 87b718a

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

.github/scripts/merge_packages.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# Usage:
55
# python merge_packages.py package_esp8266com_index.json version/new/package_esp8266com_index.json
66
# Written by Ivan Grokhotkov, 2015
7+
# Updated by lucasssvaz to handle Chinese version sorting, 2025
78
#
89

910
from __future__ import print_function
@@ -36,20 +37,19 @@ def merge_objects(versions, obj):
3637

3738

3839
# Normalize ESP release version string (x.x.x) by adding '-rc<MAXINT>' (x.x.x-rc9223372036854775807)
39-
# to ensure having REL above any RC
40+
# to ensure having REL above any RC. CN version will be sorted after the official version if they happen
41+
# to be mixed (normally, CN and non-CN versions should not be mixed)
4042
# Dummy approach, functional anyway for current ESP package versioning
4143
# (unlike NormalizedVersion/LooseVersion/StrictVersion & similar crap)
4244
def pkgVersionNormalized(versionString):
43-
44-
verStr = str(versionString)
45+
verStr = str(versionString).replace("-cn", "")
4546
verParts = re.split(r"\.|-rc|-alpha", verStr, flags=re.IGNORECASE)
4647

4748
if len(verParts) == 3:
48-
if sys.version_info > (3, 0): # Python 3
49-
verStr = str(versionString) + "-rc" + str(sys.maxsize)
50-
else: # Python 2
51-
verStr = str(versionString) + "-rc" + str(sys.maxint)
52-
49+
if "-cn" in str(versionString):
50+
verStr = verStr + "-rc" + str(sys.maxsize // 2)
51+
else:
52+
verStr = verStr + "-rc" + str(sys.maxsize)
5353
elif len(verParts) != 4:
5454
print("pkgVersionNormalized WARNING: unexpected version format: {0})".format(verStr), file=sys.stderr)
5555

.github/scripts/release_append_cn.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@
1717

1818
def append_cn_to_versions(obj):
1919
if isinstance(obj, dict):
20-
# dfu-util comes from arduino.cc and not from the Chinese mirrors, so we skip it
21-
if obj.get("name") == "dfu-util":
20+
# Skip tools that are not from the esp32 package
21+
packager = obj.get("packager")
22+
if packager is not None and packager != "esp32":
2223
return
2324

2425
for key, value in obj.items():

0 commit comments

Comments
 (0)