From 175284da2254b2c938e4047dcb7eae84bc9ee74a Mon Sep 17 00:00:00 2001 From: Jia Fan Date: Mon, 24 Mar 2025 19:58:34 +0800 Subject: [PATCH 1/3] [Improve][Doc] Improve changelog generate tool to ignore useless commit --- .../documents/update_connector_change_log.py | 32 ++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/tools/documents/update_connector_change_log.py b/tools/documents/update_connector_change_log.py index 729caf50d15..6c1599dd5f4 100644 --- a/tools/documents/update_connector_change_log.py +++ b/tools/documents/update_connector_change_log.py @@ -56,14 +56,12 @@ def get_tag_commit_list(): result = subprocess.run(['git', 'fetch', 'https://github.com/apache/seatunnel.git', '--tags', '--force'], cwd=directory, stdout=subprocess.PIPE) if result.returncode != 0: - print("Failed to fetch tags") - return + raise RuntimeError("Failed to fetch tags") result = subprocess.run(['git', 'tag'], cwd=directory, stdout=subprocess.PIPE) if result.returncode != 0: - print("Failed to fetch tags") - return + raise RuntimeError("Failed to fetch tags") tags = result.stdout.decode('utf-8').splitlines() # Only consider tags starting with 2. for now @@ -75,35 +73,47 @@ def get_tag_commit_list(): result = subprocess.run(['git', 'log', version, '--pretty=format:%h'], cwd=directory, stdout=subprocess.PIPE) if result.returncode != 0: - print("Failed to fetch tag logs") - return + raise RuntimeError("Failed to fetch tag logs") commits = result.stdout.decode('utf-8').splitlines() for commit in commits: commit_version_map[commit] = version return commit_version_map + +def get_current_version(): + directory = os.path.dirname(os.path.abspath(Path(__file__).parent.parent)) + result = subprocess.run(['git', 'rev-parse', '--abbrev-ref', 'HEAD'], + cwd=directory, stdout=subprocess.PIPE) + if result.returncode != 0: + raise RuntimeError("Failed to fetch release") + return result.stdout.decode('utf-8').strip() + def main(): changes = generate_log_info() commit_version_map = get_tag_commit_list() + in_release = get_current_version().endswith('-release') directory = os.path.dirname(os.path.abspath(Path(__file__).parent.parent)) changelog_dir = os.path.join(directory, 'docs', 'en', 'connector-v2', 'changelog') zh_changelog_dir = os.path.join(directory, 'docs', 'zh', 'connector-v2', 'changelog') for connector, prs in changes.items(): - write_commit(connector, prs, changelog_dir, commit_version_map) - write_commit(connector, prs, zh_changelog_dir, commit_version_map) + write_commit(connector, prs, changelog_dir, commit_version_map, in_release) + write_commit(connector, prs, zh_changelog_dir, commit_version_map, in_release) -def write_commit(connector, prs, changelog_dir, commit_version_map): +def write_commit(connector, prs, changelog_dir, commit_version_map, in_release): with open(changelog_dir + '/' + connector + '.md', 'w') as file: file.write('
Change Log \n\n') file.write('| Change | Commit | Version |\n') file.write('| --- | --- | --- |\n') for pr in prs: + message = html.escape(pr[0]) if pr[2] in commit_version_map: - file.write('|' + html.escape(pr[0]) + '|' + pr[1] + '|' + commit_version_map[pr[2]] + '|\n') + if not message.startswith('[maven-release-plugin]'): + file.write('|' + message + '|' + pr[1] + '|' + commit_version_map[pr[2]] + '|\n') else: - file.write('|' + html.escape(pr[0]) + '|' + pr[1] + '| dev |\n') + if not in_release: + file.write('|' + message + '|' + pr[1] + '| dev |\n') file.write('\n
\n') file.close() From c378b8be8e28a32861810da1d62eb83b6f6877b7 Mon Sep 17 00:00:00 2001 From: Jia Fan Date: Mon, 24 Mar 2025 20:02:03 +0800 Subject: [PATCH 2/3] [Improve][Doc] Improve changelog generate tool to ignore useless commit --- tools/documents/update_connector_change_log.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/documents/update_connector_change_log.py b/tools/documents/update_connector_change_log.py index 6c1599dd5f4..7abe8b9f339 100644 --- a/tools/documents/update_connector_change_log.py +++ b/tools/documents/update_connector_change_log.py @@ -81,7 +81,7 @@ def get_tag_commit_list(): return commit_version_map -def get_current_version(): +def get_current_branch_name(): directory = os.path.dirname(os.path.abspath(Path(__file__).parent.parent)) result = subprocess.run(['git', 'rev-parse', '--abbrev-ref', 'HEAD'], cwd=directory, stdout=subprocess.PIPE) @@ -92,7 +92,7 @@ def get_current_version(): def main(): changes = generate_log_info() commit_version_map = get_tag_commit_list() - in_release = get_current_version().endswith('-release') + in_release = get_current_branch_name().endswith('-release') directory = os.path.dirname(os.path.abspath(Path(__file__).parent.parent)) changelog_dir = os.path.join(directory, 'docs', 'en', 'connector-v2', 'changelog') zh_changelog_dir = os.path.join(directory, 'docs', 'zh', 'connector-v2', 'changelog') From 2d94525dc499e6c5f4176067a42710a78160caab Mon Sep 17 00:00:00 2001 From: Jia Fan Date: Mon, 24 Mar 2025 20:07:25 +0800 Subject: [PATCH 3/3] [Improve][Doc] Improve changelog generate tool to ignore useless commit --- tools/documents/update_connector_change_log.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/documents/update_connector_change_log.py b/tools/documents/update_connector_change_log.py index 7abe8b9f339..b60b969c73b 100644 --- a/tools/documents/update_connector_change_log.py +++ b/tools/documents/update_connector_change_log.py @@ -89,6 +89,7 @@ def get_current_branch_name(): raise RuntimeError("Failed to fetch release") return result.stdout.decode('utf-8').strip() + def main(): changes = generate_log_info() commit_version_map = get_tag_commit_list()