1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-22 21:01:36 +03:00
wezterm/ci/subst-release-info.py

76 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 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)
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
for (kind, (url, name, dir)) in nightly.items():
subst["{{ %s_pre }}" % kind] = url
subst["{{ %s_pre_asset }}" % kind] = name
subst["{{ %s_pre_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()