Skip to content

Commit

Permalink
release stdlib, release_diff will generate diff.md
Browse files Browse the repository at this point in the history
  • Loading branch information
pikasTech committed May 3, 2023
1 parent f771b53 commit b05daaf
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 3 deletions.
1 change: 1 addition & 0 deletions packages.toml
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ releases = [
"v1.11.9 b2f397a990f0aa88129104d460174339531ee808",
"v1.12.0 eb519fb78ed769c8862577713fd80be882d09457",
"v1.12.1 ee9d1e696a41c68c3e359b824a33795af1d56e86",
"v1.12.2 32c2c1eed5492ab4d7aaa78b74e050fb5d62b3fa",
]

[[packages]]
Expand Down
30 changes: 27 additions & 3 deletions port/linux/release_diff.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import subprocess
import os
import git
import sys
Expand All @@ -14,25 +15,48 @@
print("No commit hash specified")
commit_diff = "f8b529a956da57d8623247bea594e65469cac1c5"

tag = commit_diff # 替换为您要使用的标签
output_file = "diff.md" # 替换为您要写入的文件名

f = open(output_file, "w")

# checkout to the commit_diff
repo.git.checkout(commit_diff)
pkgReleases_diff = PackageReleaseList(PACKAGE_RELEASE_PATH)

# checkout master
repo.git.checkout("master")

f.write(f"# Diff from PikaPython {commit_diff}\n")

f.write(f"## package diff\n")
f.write("|package|state|version|\n")
f.write("|---|---|---|\n")

# find new released package and package version
for pkg in pkgReleases.packages:
# find pkg in pkgReleases_diff
pkg_diff = pkgReleases_diff.findPackage(pkg.name)
if None == pkg_diff:
# print("New package: " + pkg.name + pkg.latestVersion().version)
print(f"|{pkg.name}| Create | {pkg.latestVersion().version}|")
out_str = f"|{pkg.name}| Create | {pkg.latestVersion().version}|"
print(out_str)
f.write(out_str + '\n')
continue

pkg_diff = pkgReleases_diff.findPackage(pkg.name)
if pkg_diff.latestVersion().version != pkg.latestVersion().version:
print(
f"|{pkg.name}| Update | {pkg_diff.latestVersion().version} --> {pkg.latestVersion().version}|")
out_str = f"|{pkg.name}| Update | {pkg_diff.latestVersion().version} --> {pkg.latestVersion().version}|"
print(out_str)
f.write(out_str + '\n')

# 构建 git log 命令并调用 subprocess 执行
git_log_cmd = f"git log {tag}..HEAD --pretty=format:%s"
result = subprocess.run(git_log_cmd, stdout=subprocess.PIPE, shell=True)

# 从结果中获取输出并将其写入文件
output_str = result.stdout.decode("utf-8").replace('\n', '\n\n')
f.write('## git diff\n')
f.write(output_str)
f.close()
exit()

0 comments on commit b05daaf

Please sign in to comment.