proj_flow.log.hosting.github

The proj_flow.log.hosting.github builds a log message for GiHub Releases.

class proj_flow.log.hosting.github.ReleaseInfo(url: str | None, is_draft: bool | None, id: int, ref: str | None = None, tag: str | None = None)
id: int
class proj_flow.log.hosting.github.GitHub(info: _GitHub, rt: Runtime)

Generates links to GitHub.

rt: Runtime
property is_active

Can publish a release

property remote
property owner
property repo
property root

Link to a single commit on this hosting platform.

Link to a comparison page between two tags on this hosting platform.

Link to an issue, based on a reference, provided this hosting platform can recognize it.

gh(res: str, *args: str, method: str | None = None, capture_output: bool = True, ro_call: bool = False, **kwargs)
json_from(res: str, *args: str, method: str | None = None, server: str | None = None, default: Any = {}, ro_call: bool = False)
add_release(log: Dict[str, List[Link]], setup: LogSetup, git: Git, draft: bool) ReleaseInfo

Publish a release for current setup, putting the log into release notes.

locate_release(release_name: str) ReleaseInfo | None

Locate a release by its name.

upload_to_release(release: ReleaseInfo, directory: str, names: list[str])

Upload package artifacts to the release.

publish(release: ReleaseInfo) ReleaseInfo

Publish given release, return updated release info.

static from_repo(git: Git, remote: str | None = None)