use semver::Version; use crate::ActionConfig; pub trait Action { fn enabled(&self, config: &ActionConfig) -> anyhow::Result; fn name(&self) -> String; fn execute(&self, version: &Version) -> anyhow::Result<()>; }