at.happyproto.registry.promoteRelease
Publish an existing version's artifact under a new version, such as `1.2.0-rc.1` as `1.2.0`, without uploading it again. The new software.release.version points at the existing manifest. Optionally moves a channel to it and adds a changelog.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | registry.happyproto.at |
| Indexed |
Showing version bafyreihy7ocnnbqyjmnhmdqc5x7ksb6c3i5nzxvctp6l3slutigrrxnteq. Show the latest
Procedure
procedure · POSTInput
application/jsonchangelog
stringRelease notes as CommonMark. The registry writes them to the caller's repo as a site.standard.document and links it from the version.
maxLength: 200000maxGraphemes: 20000
The published version whose manifest the new version reuses.
minLength: 1maxLength: 64
The project's name, which is the record key of its software.release.project: 1 to 64 lowercase letters, digits and interior hyphens.
minLength: 1maxLength: 64
track
stringA channel to move to the new version. No channel moves when absent.
knownValues: latest | beta | alpha
The new version.
minLength: 1maxLength: 64
Output
application/jsonchangelog
refThe changelog's site.standard.document, when a changelog was given.
channel
refThe software.release.channel, when track was given.
resumed
booleanTrue when the new version already existed on the same manifest, so this call only finished what an earlier one started.
The new software.release.version.
Errors
AuthRequired
The caller's identity could not be determined, so there is no repo to write to.
NotConfigured
The registry has no identity configured. An operator problem, not a caller's.
InvalidRecord
The input breaks a rule the registry applies, so it would refuse the records. The message names the field.
Upstream
A record could not be written to the caller's repo. Records written before the failure stay, and the same call can be made again.
ProjectMissing
The caller has no project of that name, or the registry has not indexed its at.happyproto.registry.project record. Call putProject first.
VersionNotFound
fromVersion is not an indexed version of the caller's project.
VersionExists
The new version is already published. A version never changes once published.
NotInstallable
track was given, but the project is unavailable or retired, so a channel cannot point at the new version.
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
at.happyproto.registry.publishRelease
procedurePublish a version of a plugin to the caller's repo. Writes a software.release.manifest carrying the artifact, the changelog as a site.standard.document when one is given, the software.release.version, and the channel named by track, moved to the new version, in that order. A record is written only once everything it points at exists, so a failure part-way leaves no dangling reference. Calling again with the same input after such a failure finishes the release rather than refusing it.
-
at.happyproto.registry.retryRelease
procedureCopy a pending release's artifact again. A release is listed only once the registry has copied its artifact, which it tries once when it first indexes the release; this is how the release's publisher tries again after that copy failed. An active release is answered as it is, with nothing enqueued.