semantic_release.hvcs.remote_hvcs_base module¶
Common functionality and interface for interacting with Git remote VCS
- class semantic_release.hvcs.remote_hvcs_base.RemoteHvcsBase(remote_url: str, *args: Any, **kwargs: Any)[source]¶
Bases:
HvcsBase
Interface for subclasses interacting with a remote VCS
This abstract class is defined to provide common helper functions and a set of basic methods that all remote VCS environments usually support.
If the remote vcs implementation (via subclass) does not support a functionality then it can just call super()’s method which defaults as a non-supported log message and empty results. This is more straightforward than checking for NotImplemented around every function call in the core library code.
- DEFAULT_ENV_TOKEN_NAME = 'HVCS_TOKEN'¶
- property api_url: Url¶
- create_api_url(endpoint: str, auth: str | None = None, query: str | None = None, fragment: str | None = None) str [source]¶
- abstract create_or_update_release(tag: str, release_notes: str, prerelease: bool = False) int | str [source]¶
Create or update a release for the given tag in a remote VCS, attaching the given changelog, if supported
- abstract create_release(tag: str, release_notes: str, prerelease: bool = False, assets: list[str] | None = None) int | str [source]¶
Create a release in a remote VCS, if supported
Which includes uploading any assets as part of the release
- create_repo_url(repo_path: str, query: str | None = None, fragment: str | None = None) str [source]¶
- create_server_url(path: str, auth: str | None = None, query: str | None = None, fragment: str | None = None) str [source]¶
- property hvcs_domain: Url¶