pub struct ReleaseConfig {Show 22 fields
pub branches: Vec<String>,
pub tag_prefix: String,
pub commit_pattern: String,
pub breaking_section: String,
pub misc_section: String,
pub types: Vec<CommitType>,
pub changelog: ChangelogConfig,
pub version_files: Vec<String>,
pub version_files_strict: bool,
pub artifacts: Vec<String>,
pub floating_tags: bool,
pub build_command: Option<String>,
pub stage_files: Vec<String>,
pub prerelease: Option<String>,
pub pre_release_command: Option<String>,
pub post_release_command: Option<String>,
pub sign_tags: bool,
pub draft: bool,
pub release_name_template: Option<String>,
pub hooks: HooksConfig,
pub packages: Vec<PackageConfig>,
pub path_filter: Option<String>,
}Fields§
§branches: Vec<String>§tag_prefix: String§commit_pattern: String§breaking_section: String§misc_section: String§types: Vec<CommitType>§changelog: ChangelogConfig§version_files: Vec<String>§version_files_strict: bool§artifacts: Vec<String>§build_command: Option<String>§stage_files: Vec<String>Additional files/globs to stage after build_command runs (e.g. Cargo.lock).
prerelease: Option<String>Pre-release identifier (e.g. “alpha”, “beta”, “rc”). When set, versions are
formatted as X.Y.Z-
pre_release_command: Option<String>Shell command to run before the release starts (validation, checks).
post_release_command: Option<String>Shell command to run after the release completes (notifications, deployments).
Sign annotated tags with GPG/SSH (git tag -s).
draft: boolCreate GitHub releases as drafts (requires manual publishing).
release_name_template: Option<String>Minijinja template for the GitHub release name.
Available variables: version, tag_name, tag_prefix.
Default when None: uses the tag name (e.g. “v1.2.0”).
hooks: HooksConfigGit hooks configuration.
packages: Vec<PackageConfig>Monorepo packages. When non-empty, each package is released independently.
path_filter: Option<String>Internal: set when resolving a package config. Commits are filtered to this path.
Implementations§
Source§impl ReleaseConfig
impl ReleaseConfig
Sourcepub fn find_config(dir: &Path) -> Option<(PathBuf, bool)>
pub fn find_config(dir: &Path) -> Option<(PathBuf, bool)>
Find the first config file that exists in the given directory.
Returns (path, is_legacy).
Sourcepub fn load(path: &Path) -> Result<Self, ReleaseError>
pub fn load(path: &Path) -> Result<Self, ReleaseError>
Load config from a YAML file. Falls back to defaults if the file doesn’t exist.
Sourcepub fn resolve_package(&self, pkg: &PackageConfig) -> Self
pub fn resolve_package(&self, pkg: &PackageConfig) -> Self
Resolve a package into a full release config by merging package overrides with root config.
Sourcepub fn find_package(&self, name: &str) -> Result<&PackageConfig, ReleaseError>
pub fn find_package(&self, name: &str) -> Result<&PackageConfig, ReleaseError>
Find a package by name. Returns an error if the package is not found.
Trait Implementations§
Source§impl Clone for ReleaseConfig
impl Clone for ReleaseConfig
Source§fn clone(&self) -> ReleaseConfig
fn clone(&self) -> ReleaseConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more