mirror of
https://github.com/wez/wezterm.git
synced 2024-11-27 02:25:28 +03:00
d199178dd7
Sometimes we race with the nightly build while it is deleting and uploading artifacts. Since they have stable names, just hard code those in the the markdown.
77 lines
2.0 KiB
Python
77 lines
2.0 KiB
Python
#!/usr/bin/env python3
|
|
import json
|
|
import sys
|
|
|
|
def release_to_links(rel):
|
|
source = None
|
|
macos = None
|
|
fedora = None
|
|
ubuntu = None
|
|
windows = None
|
|
linux_bin = None
|
|
|
|
tag_name = "wezterm-%s" % rel["tag_name"]
|
|
|
|
for asset in rel["assets"]:
|
|
url = asset["browser_download_url"]
|
|
name = asset["name"]
|
|
if "-src.tar.gz" in name:
|
|
source = (url, name, tag_name)
|
|
elif ".deb" in name:
|
|
ubuntu = (url, name, tag_name)
|
|
elif ".tar.xz" in name:
|
|
linux_bin = (url, name, tag_name)
|
|
elif ".rpm" in name:
|
|
fedora = (url, name, tag_name)
|
|
elif "WezTerm-macos-" in name:
|
|
macos = (url, name, tag_name)
|
|
elif "WezTerm-windows-" in name:
|
|
windows = (url, name, tag_name)
|
|
|
|
return {
|
|
"source": source,
|
|
"ubuntu": ubuntu,
|
|
"linux_bin": linux_bin,
|
|
"fedora": fedora,
|
|
"macos": macos,
|
|
"windows": windows,
|
|
}
|
|
|
|
def pretty(o):
|
|
return json.dumps(o, indent=4, sort_keys=True, separators=(',', ':'))
|
|
|
|
def load_release_info():
|
|
with open("/tmp/wezterm.releases.json") as f:
|
|
release_info = json.load(f)
|
|
|
|
latest = release_info[0]
|
|
nightly = None
|
|
for rel in release_info:
|
|
if rel["tag_name"] == "nightly":
|
|
nightly = rel
|
|
break
|
|
|
|
latest = release_to_links(latest)
|
|
nightly = release_to_links(nightly)
|
|
|
|
print('latest: ', pretty(latest))
|
|
print('nightly: ', pretty(nightly))
|
|
|
|
subst = {}
|
|
for (kind, (url, name, dir)) in latest.items():
|
|
subst["{{ %s_stable }}" % kind] = url
|
|
subst["{{ %s_stable_asset }}" % kind] = name
|
|
subst["{{ %s_stable_dir }}" % kind] = dir
|
|
|
|
with open("docs/installation.markdown", "r") as input:
|
|
with open("docs/installation.md", "w") as output:
|
|
for line in input:
|
|
for (search, replace) in subst.items():
|
|
line = line.replace(search, replace)
|
|
output.write(line)
|
|
|
|
def main():
|
|
load_release_info()
|
|
|
|
main()
|