Skip to content

Commit 8a48cee

Browse files
authored
[Improve][Doc] Improve changelog generate tool to ignore useless commit (#9035)
1 parent 68ebf15 commit 8a48cee

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

Diff for: tools/documents/update_connector_change_log.py

+22-11
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,12 @@ def get_tag_commit_list():
5656
result = subprocess.run(['git', 'fetch', 'https://github.com/apache/seatunnel.git', '--tags', '--force'],
5757
cwd=directory, stdout=subprocess.PIPE)
5858
if result.returncode != 0:
59-
print("Failed to fetch tags")
60-
return
59+
raise RuntimeError("Failed to fetch tags")
6160

6261
result = subprocess.run(['git', 'tag'],
6362
cwd=directory, stdout=subprocess.PIPE)
6463
if result.returncode != 0:
65-
print("Failed to fetch tags")
66-
return
64+
raise RuntimeError("Failed to fetch tags")
6765

6866
tags = result.stdout.decode('utf-8').splitlines()
6967
# Only consider tags starting with 2. for now
@@ -75,35 +73,48 @@ def get_tag_commit_list():
7573
result = subprocess.run(['git', 'log', version, '--pretty=format:%h'],
7674
cwd=directory, stdout=subprocess.PIPE)
7775
if result.returncode != 0:
78-
print("Failed to fetch tag logs")
79-
return
76+
raise RuntimeError("Failed to fetch tag logs")
8077
commits = result.stdout.decode('utf-8').splitlines()
8178
for commit in commits:
8279
commit_version_map[commit] = version
8380

8481
return commit_version_map
8582

83+
84+
def get_current_branch_name():
85+
directory = os.path.dirname(os.path.abspath(Path(__file__).parent.parent))
86+
result = subprocess.run(['git', 'rev-parse', '--abbrev-ref', 'HEAD'],
87+
cwd=directory, stdout=subprocess.PIPE)
88+
if result.returncode != 0:
89+
raise RuntimeError("Failed to fetch release")
90+
return result.stdout.decode('utf-8').strip()
91+
92+
8693
def main():
8794
changes = generate_log_info()
8895
commit_version_map = get_tag_commit_list()
96+
in_release = get_current_branch_name().endswith('-release')
8997
directory = os.path.dirname(os.path.abspath(Path(__file__).parent.parent))
9098
changelog_dir = os.path.join(directory, 'docs', 'en', 'connector-v2', 'changelog')
9199
zh_changelog_dir = os.path.join(directory, 'docs', 'zh', 'connector-v2', 'changelog')
92100
for connector, prs in changes.items():
93-
write_commit(connector, prs, changelog_dir, commit_version_map)
94-
write_commit(connector, prs, zh_changelog_dir, commit_version_map)
101+
write_commit(connector, prs, changelog_dir, commit_version_map, in_release)
102+
write_commit(connector, prs, zh_changelog_dir, commit_version_map, in_release)
95103

96104

97-
def write_commit(connector, prs, changelog_dir, commit_version_map):
105+
def write_commit(connector, prs, changelog_dir, commit_version_map, in_release):
98106
with open(changelog_dir + '/' + connector + '.md', 'w') as file:
99107
file.write('<details><summary> Change Log </summary>\n\n')
100108
file.write('| Change | Commit | Version |\n')
101109
file.write('| --- | --- | --- |\n')
102110
for pr in prs:
111+
message = html.escape(pr[0])
103112
if pr[2] in commit_version_map:
104-
file.write('|' + html.escape(pr[0]) + '|' + pr[1] + '|' + commit_version_map[pr[2]] + '|\n')
113+
if not message.startswith('[maven-release-plugin]'):
114+
file.write('|' + message + '|' + pr[1] + '|' + commit_version_map[pr[2]] + '|\n')
105115
else:
106-
file.write('|' + html.escape(pr[0]) + '|' + pr[1] + '| dev |\n')
116+
if not in_release:
117+
file.write('|' + message + '|' + pr[1] + '| dev |\n')
107118
file.write('\n</details>\n')
108119
file.close()
109120

0 commit comments

Comments
 (0)