Skip to main content

Crate ephemeris_release

Crate ephemeris_release 

Source
Expand description

Ecosystem-neutral release lifecycle orchestration for independently versioned units.

The shared core owns graph policy, proposal authority, tags, artifacts, retries, and forge releases. Git, package publication, and forge services use separate interfaces; the ecosystem adapters own discovery, version grouping, and edit behavior.

Modulesยง

account ๐Ÿ”’
The identity a release acts as.
adapters ๐Ÿ”’
Ecosystem adapters behind one batch-oriented interface.
artifacts ๐Ÿ”’
Validated, retry-safe publication of derivation-produced release assets.
commit_subject ๐Ÿ”’
The subject template of proposal commits.
conventional ๐Ÿ”’
Commit messages read as Conventional Commits.
digest ๐Ÿ”’
Digests of release files.
edits ๐Ÿ”’
Shared stale-checked transaction for edits proposed by release targets.
error ๐Ÿ”’
git ๐Ÿ”’
Git adapters for local release operations, served through libgit2.
proposal ๐Ÿ”’
Automated proposal analysis and isolated release-branch maintenance.
publication ๐Ÿ”’
The publication contract. Every step reads the remote first and converges, so a rerun after any failure finishes the job.
publish ๐Ÿ”’
The publication sequence at the authoritative branch tip.
publisher ๐Ÿ”’
Publication of selected units in dependency order.
remote ๐Ÿ”’
Release state as the forge reports it.
state ๐Ÿ”’
Release-specific evaluated configuration consumed by the release CLI.
traits ๐Ÿ”’
Interfaces to Git, package registries, and the forge.
unit ๐Ÿ”’
The resolved unit of a release graph.
version ๐Ÿ”’
Semantic versions shared by release planning, analysis, and publication.

Structsยง

Account
Who commits, tags and logs in during a release.
ArtifactInput
Built release artifacts on disk.
Author
The name and email on a commit or tag.
AuthorityBranch
The authoritative branch, which every comparison reads through its origin remote-tracking branch.
CargoRegistry
A Cargo registry version lookup.
CommitSubject
A subject template with the placeholders {unit} and {version}.
ConfiguredProposal
Inputs for applying and synchronizing a configured release proposal.
EmptyBranchName
A configured branch name is empty.
Error
A release operation failed.
LocalChange
One unit changed by a local release plan.
LocalPlan
A validated local plan for any configured release target.
NpmRegistry
An npm registry answering GET {registry}/{package} with a packument.
Outcome
A unit whose package, tag, and forge release are complete.
PublishCredentials
The credentials of one publication.
PublishRequest
Everything publish works from.
ReleaseState
Evaluated release policy. This component can be decoded on its own.
RemoteAsset
Existing remote asset identity.
RemoteCredentials
The HTTPS credential pushes and fetches authenticate with.
RemoteRelease
Existing remote release state.
SystemGit
Production Git adapter backed by libgit2.
UnitScope
The repository paths whose changes count for a unit: everything under the source directories except the unit changelog.

Enumsยง

CommitSubjectError
A subject template is not valid.
Field
A field of an Account.
GitError
A Git query or mutation failure.
ProposalOutcome
What a proposal run did.
RegistryError
A registry lookup could not run or could not be answered.

Traitsยง

ForgeProposal
The release proposal pull request on the forge.
ForgeRelease
Forge-hosted releases and release assets.
ForgeTags
Tag lookup on the forge.
GitCommands
Repository operations used by the release lifecycle.
GitHistory
Read access to repository history.
GitRefs
Reference lookup.
PackageRegistry
Remote services whose existence checks make retries safe.
ProposalGit
Repository changes that maintain a release proposal branch.

Functionsยง

propose
Maintain the release proposal branch and its pull request.
publish
Publish the selected release units. Every step reads the remote first, so rerunning after any failure finishes the job.