35 lines · 1.3 KB · Text
RawDownload
interface github {    /// A GitHub release.    record github-release {        /// The version of the release.        version: string,        /// The list of assets attached to the release.        assets: list<github-release-asset>,    }     /// An asset from a GitHub release.    record github-release-asset {        /// The name of the asset.        name: string,        /// The download URL for the asset.        download-url: string,    }     /// The options used to filter down GitHub releases.    record github-release-options {        /// Whether releases without assets should be included.        require-assets: bool,        /// Whether pre-releases should be included.        pre-release: bool,    }     /// Returns the latest release for the given GitHub repository.    ///    /// Takes repo as a string in the form "<owner-name>/<repo-name>", for example: "zed-industries/zed".    latest-github-release: func(repo: string, options: github-release-options) -> result<github-release, string>;     /// Returns the GitHub release with the specified tag name for the given GitHub repository.    ///    /// Returns an error if a release with the given tag name does not exist.    github-release-by-tag-name: func(repo: string, tag: string) -> result<github-release, string>;}