32 lines
1.5 KiB
YAML
32 lines
1.5 KiB
YAML
## Forge hosts recognized by `pkh new` origin detection, with the
|
|
## release-tarball URL templates of each: `Forge::parse`
|
|
## (src/new/origin.rs) matches a git remote's host against the map keys,
|
|
## and the tarball download substitutes {owner}, {repo} and {tag} into the
|
|
## templates. Like host_keys.yml, this file exists so that static
|
|
## endpoints are data: adding a forge is a YAML entry, not a code change
|
|
## (self-hosted instances are deliberately absent — the download URL
|
|
## shapes differ per instance).
|
|
##
|
|
## tarball_templates are tried sequentially in file order, best candidate
|
|
## first (GitHub prefers the codeload direct link: no redirect).
|
|
## `kind` documents the forge family the URL shapes belong to; the
|
|
## templates fully describe the URLs, so nothing branches on it (yet) —
|
|
## but it must be one of the known kinds, enforced at load time.
|
|
##
|
|
## Where the values come from: each forge's release-archive download URL
|
|
## shapes, verified against the live forges —
|
|
## github: codeload.github.com/<owner>/<repo>/tar.gz/refs/tags/<tag>
|
|
## and github.com/<owner>/<repo>/archive/refs/tags/<tag>.tar.gz
|
|
## gitlab: gitlab.com/<owner>/<repo>/-/archive/<tag>/<repo>-<tag>.tar.gz
|
|
|
|
forges:
|
|
github.com:
|
|
kind: github
|
|
tarball_templates:
|
|
- https://codeload.github.com/{owner}/{repo}/tar.gz/refs/tags/{tag}
|
|
- https://github.com/{owner}/{repo}/archive/refs/tags/{tag}.tar.gz
|
|
gitlab.com:
|
|
kind: gitlab
|
|
tarball_templates:
|
|
- https://gitlab.com/{owner}/{repo}/-/archive/{tag}/{repo}-{tag}.tar.gz
|