File tree Expand file tree Collapse file tree 2 files changed +52
-0
lines changed Expand file tree Collapse file tree 2 files changed +52
-0
lines changed Original file line number Diff line number Diff line change 1+ on :
2+ push :
3+ tags :
4+ - ' *.*.*'
5+
6+ name : Create Release
7+
8+ jobs :
9+ build :
10+ name : Create Release
11+ runs-on : ubuntu-latest
12+ steps :
13+ - name : Checkout code
14+ uses : actions/checkout@v2
15+ - name : Generate body
16+ run : |
17+ scripts/get_release_description.py | tee release_body.md
18+ - name : Create Release
19+ id : create_release
20+ uses : actions/create-release@v1
21+ env :
22+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
23+ with :
24+ tag_name : ${{ github.ref }}
25+ release_name : Release ${{ github.ref }}
26+ body_path : release_body.md
27+ draft : true
28+ prerelease : false
Original file line number Diff line number Diff line change 1+ #!/usr/bin/env python3
2+ """Print the description used for GitHub Releases."""
3+ import re
4+
5+ TAG_BANNER = r"\d+\.\d+\.\d+\S* - \d+-\d+-\d+\n--------------------\n"
6+
7+ RE_BODY = re .compile (fr".*?{ TAG_BANNER } (.*?){ TAG_BANNER } " , re .DOTALL )
8+ RE_SECTION = re .compile (r"^(\w+)$" , re .MULTILINE )
9+
10+
11+ def main () -> None :
12+ # Get the most recent tag.
13+ with open ("CHANGELOG.rst" , "r" ) as f :
14+ match = RE_BODY .match (f .read ())
15+ assert match
16+ body = match .groups ()[0 ].strip ()
17+
18+ # Add Markdown formatting to sections.
19+ body = RE_SECTION .sub (r"### \1" , body )
20+ print (body )
21+
22+
23+ if __name__ == "__main__" :
24+ main ()
You can’t perform that action at this time.
0 commit comments