Refactoring draft notes generation
ci/woodpecker/pr/pr/1 Pipeline failed Details
ci/woodpecker/pr/pr/2 Pipeline failed Details

This commit is contained in:
iratusmachina 2024-04-20 07:17:45 -04:00
parent 98268ffe0a
commit 82cc02fd0e
2 changed files with 15 additions and 9 deletions

2
.gitignore vendored
View File

@ -2,4 +2,4 @@
bin bin
*.txt *.txt
artifacts artifacts
bin draft_notes.md

View File

@ -49,6 +49,7 @@ def draft():
# Get the current and previous tags # Get the current and previous tags
tags = subprocess.check_output(["git", "tag", "--sort=creatordate"], text=True) tags = subprocess.check_output(["git", "tag", "--sort=creatordate"], text=True)
if tags:
tags = [tag for tag in tags.split("\n") if tag] tags = [tag for tag in tags.split("\n") if tag]
tags.reverse() tags.reverse()
current_tag, previous_tag, *_ = tags current_tag, previous_tag, *_ = tags
@ -57,6 +58,11 @@ def draft():
fw.write(lines) fw.write(lines)
fw.write("\n\n") fw.write("\n\n")
fw.write(f"Compare between recent changes: [{previous_tag[1:]}...{current_tag[1:]}]({remote_url}/compare/{previous_tag}...{current_tag})") fw.write(f"Compare between recent changes: [{previous_tag[1:]}...{current_tag[1:]}]({remote_url}/compare/{previous_tag}...{current_tag})")
else:
# first tag
formatted_lines = subprocess.check_output(["git", "log", f'--pretty=format:"* %s"'], text=True)
lines = "\n".join([line.replace("\"", "") for line in formatted_lines.split("\n") if all(["merge" not in line.lower(), "changelog.md" not in line.lower()])])
fw.write(lines)
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
print(f"Command failed with return code {e.returncode}") print(f"Command failed with return code {e.returncode}")