[ci skip] Fix huge release notes

This commit is contained in:
Nemo 2022-05-25 12:09:14 +05:30
parent fba1306999
commit f3f21f1e0c
4 changed files with 30 additions and 10 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@ pup
release.md
pup.zip
IN*.csv
notes.md

View File

@ -30,8 +30,8 @@ update: ISIN
old:
git show HEAD^:ISIN.csv > /tmp/ISIN.csv
release.md: old
python3 src/diff.py > release.md
release-notes: old
python3 src/diff.py
release: release.md
gh release create "$(version)" --notes-file release.md ISIN.csv
release: release-notes
gh release create "$(version)" --notes-file notes.md ISIN.csv release.md

View File

@ -17,4 +17,24 @@ diff = compare(
True
)
print(template.render(added=diff['added'], changed=diff['changed'], removed=diff['removed']))
contents = template.render(added=diff['added'], changed=diff['changed'], removed=diff['removed'])
# GitHub supports a maximum limit of 125000 for release notes.
# 124800 = 124000 - 200 for buffer and the warning line
# To get around this, we add a warning if we hit the limit
# and attach a release.md file with the complete notes
if len(contents) >= 125000:
notes = """This file is truncated due to GitHub limitations.
please see the attached `release.md` file for complete notes""" + contents[:124800]
else:
notes = contents
"""
notes are the viewable notes on the release page on GitHub
while release.md is the attached notes. This is the complete text.
"""
with open('notes.md', 'w') as f:
f.write(notes)
with open('release.md', 'w') as f:
f.write(contents)

View File

@ -1,6 +1,5 @@
## Generates a single diff for a single row, ignoring the Status field
<%def name="singlediff(row)">
@@ ${row['key']}
<%def name="singlediff(row)">@@ ${row['key']}
%for k in row['changes']:
%if k != 'Status':
-${k}:${row['changes'][k][0]}
@ -19,7 +18,7 @@ ${row['changes']['Description'][1]}
%endif
</%def>
% if len(added) > 0
% if len(added) > 0:
<h2>Additions</h2>
The following new ISINs were added:
@ -33,7 +32,7 @@ ISIN|Description|Issuer|Type|Status
%endif
% if len(changed) > 0
% if len(changed) > 0:
<h2>Changes</h2>
The following ISINs changed their status: