1
Fork 0
mirror of https://github.com/RGBCube/nu_scripts synced 2025-08-02 07:07:46 +00:00

Edit release notes template and edit scripts (#981)

Making the release scripts easier to use as well as automating more of
the process.
This commit is contained in:
Ian Manske 2024-11-21 19:12:26 -08:00 committed by GitHub
parent 1ed7ef9401
commit fc1d1989b6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 138 additions and 207 deletions

View file

@ -0,0 +1,42 @@
#!/usr/bin/env nu
# Prepare the GitHub release text
def main [
versionname: string # The version we release now
bloglink: string # The link to the blogpost
date?: datetime # the date of the last release (default to 3 weeks ago, excluded)
] {
let date = (
if $date == null { (date now) - 4wk + 1day } else { $date }
| format date "%Y-%m-%d"
)
let repo = "nushell/nushell"
let query = $"merged:>($date)"
let prs = (
gh --repo $repo pr list
--state merged
--limit (inf | into int)
--json author,title,number,mergedAt,url
--search $query
| from json
| sort-by mergedAt --reverse
| update author { get login }
)
let authors = $prs.author | uniq | sort -i
let author_string = ($authors | each {|name| $"@($name)"} | str join ", " )
let release_text = [
$"This is the ($versionname) release of Nushell. You can learn more about this release here: ($bloglink)",
"",
"For convenience, we are providing full builds for Windows, Linux, and macOS. Be sure you have the requirements to enable all capabilities: https://www.nushell.sh/book/installation.html#dependencies",
"",
$"This release was made possible by PR contributions from ($author_string)"
]
$release_text | str join "\n"
}