rlls 0.0.34

Cut a version, tag it, and publish a GitHub Release with raw git notes
Documentation
use crate::release_kind::ReleaseKind;
use anyhow::Result;

pub fn compute_next_tag(kind: &ReleaseKind) -> Result<String> {
    let root = std::env::current_dir()?;
    let cur = crate::project::read_current_version(&root)?;
    let base = crate::semver::base_of(&cur);
    let bump_kind: crate::semver::BumpKind = kind.clone().into();
    let next = crate::semver::bump(&base, bump_kind)?;
    Ok(format!("v{}", next))
}

pub fn bump(
    kind: &ReleaseKind,
    _cfg: &crate::config::Config,
) -> Result<()> {
    let root = std::env::current_dir()?;
    let cur = crate::project::read_current_version(&root)?;
    let base = crate::semver::base_of(&cur);
    let bump_kind: crate::semver::BumpKind = kind.clone().into();
    let next = crate::semver::bump(&base, bump_kind)?;
    crate::project::write_versions(&root, &next)?;
    Ok(())
}