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
				
			
		
		
	
	
				
					
				
			
		
			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:
		
							
								
								
									
										68
									
								
								Cargo.toml
									
									
									
									
									
								
							
							
						
						
									
										68
									
								
								Cargo.toml
									
									
									
									
									
								
							| @@ -87,16 +87,58 @@ urlencoding = "2.1.3" | ||||
| tokio-test = "0.4.4" | ||||
|  | ||||
| [dependencies] | ||||
| thiserror = "2.0.12"                             # For error handling in the main Error enum | ||||
| sal-git = { path = "git" } | ||||
| sal-redisclient = { path = "redisclient" } | ||||
| sal-mycelium = { path = "mycelium" } | ||||
| sal-text = { path = "text" } | ||||
| sal-os = { path = "os" } | ||||
| sal-net = { path = "net" } | ||||
| sal-zinit-client = { path = "zinit_client" } | ||||
| sal-process = { path = "process" } | ||||
| sal-virt = { path = "virt" } | ||||
| sal-postgresclient = { path = "postgresclient" } | ||||
| sal-vault = { path = "vault" } | ||||
| sal-rhai = { path = "rhai" } | ||||
| thiserror = "2.0.12" # For error handling in the main Error enum | ||||
|  | ||||
| # Optional dependencies - users can choose which modules to include | ||||
| sal-git = { path = "git", optional = true } | ||||
| sal-kubernetes = { path = "kubernetes", optional = true } | ||||
| sal-redisclient = { path = "redisclient", optional = true } | ||||
| sal-mycelium = { path = "mycelium", optional = true } | ||||
| sal-text = { path = "text", optional = true } | ||||
| sal-os = { path = "os", optional = true } | ||||
| sal-net = { path = "net", optional = true } | ||||
| sal-zinit-client = { path = "zinit_client", optional = true } | ||||
| sal-process = { path = "process", optional = true } | ||||
| sal-virt = { path = "virt", optional = true } | ||||
| sal-postgresclient = { path = "postgresclient", optional = true } | ||||
| sal-vault = { path = "vault", optional = true } | ||||
| sal-rhai = { path = "rhai", optional = true } | ||||
|  | ||||
| [features] | ||||
| default = [] | ||||
|  | ||||
| # Individual module features | ||||
| git = ["dep:sal-git"] | ||||
| kubernetes = ["dep:sal-kubernetes"] | ||||
| redisclient = ["dep:sal-redisclient"] | ||||
| mycelium = ["dep:sal-mycelium"] | ||||
| text = ["dep:sal-text"] | ||||
| os = ["dep:sal-os"] | ||||
| net = ["dep:sal-net"] | ||||
| zinit_client = ["dep:sal-zinit-client"] | ||||
| process = ["dep:sal-process"] | ||||
| virt = ["dep:sal-virt"] | ||||
| postgresclient = ["dep:sal-postgresclient"] | ||||
| vault = ["dep:sal-vault"] | ||||
| rhai = ["dep:sal-rhai"] | ||||
|  | ||||
| # Convenience feature groups | ||||
| core = ["os", "process", "text", "net"] | ||||
| clients = ["redisclient", "postgresclient", "zinit_client", "mycelium"] | ||||
| infrastructure = ["git", "vault", "kubernetes", "virt"] | ||||
| scripting = ["rhai"] | ||||
| all = [ | ||||
|     "git", | ||||
|     "kubernetes", | ||||
|     "redisclient", | ||||
|     "mycelium", | ||||
|     "text", | ||||
|     "os", | ||||
|     "net", | ||||
|     "zinit_client", | ||||
|     "process", | ||||
|     "virt", | ||||
|     "postgresclient", | ||||
|     "vault", | ||||
|     "rhai", | ||||
| ] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user