feat: Add CI/CD workflows for testing and publishing SAL crates
Some checks failed
Test Publishing Setup / Test Publishing Setup (pull_request) Has been cancelled

- Add a workflow for testing the publishing setup
- Add a workflow for publishing SAL crates to crates.io
- Improve crate metadata and version management
- Add optional dependencies for modularity
- Improve documentation for publishing and usage
This commit is contained in:
Mahmoud-Emad
2025-07-01 08:34:20 +03:00
parent 52f2f7e3c4
commit e01b83f12a
29 changed files with 2823 additions and 35 deletions

View File

@@ -36,18 +36,44 @@ pub enum Error {
/// Result type for SAL operations
pub type Result<T> = std::result::Result<T, Error>;
// Re-export modules
// Re-export modules conditionally based on features
#[cfg(feature = "git")]
pub use sal_git as git;
#[cfg(feature = "kubernetes")]
pub use sal_kubernetes as kubernetes;
#[cfg(feature = "mycelium")]
pub use sal_mycelium as mycelium;
#[cfg(feature = "net")]
pub use sal_net as net;
#[cfg(feature = "os")]
pub use sal_os as os;
#[cfg(feature = "postgresclient")]
pub use sal_postgresclient as postgresclient;
#[cfg(feature = "process")]
pub use sal_process as process;
#[cfg(feature = "redisclient")]
pub use sal_redisclient as redisclient;
#[cfg(feature = "rhai")]
pub use sal_rhai as rhai;
#[cfg(feature = "text")]
pub use sal_text as text;
#[cfg(feature = "vault")]
pub use sal_vault as vault;
#[cfg(feature = "virt")]
pub use sal_virt as virt;
#[cfg(feature = "zinit_client")]
pub use sal_zinit_client as zinit_client;
// Version information